Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 568920 Details for
Bug 679936
sys-devel/gcc-8.2.0-r6: internal compiler error: in get_hot_bb_threshold, at pr edict.c:135 on armv5tel-softfloat
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
gcc-8.2.0-ipa-no-inline-PR89009.patch
gcc-8.2.0-ipa-no-inline-PR89009.patch (text/plain), 5.22 KB, created by
Sergei Trofimovich (RETIRED)
on 2019-03-12 22:36:05 UTC
(
hide
)
Description:
gcc-8.2.0-ipa-no-inline-PR89009.patch
Filename:
MIME Type:
Creator:
Sergei Trofimovich (RETIRED)
Created:
2019-03-12 22:36:05 UTC
Size:
5.22 KB
patch
obsolete
>https://bugs.gentoo.org/679936 > >From 2e48cb7168c44c9660fa9b6f72b7ede91f99e54d Mon Sep 17 00:00:00 2001 >From: marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> >Date: Thu, 14 Feb 2019 11:24:45 +0000 >Subject: [PATCH] Backport r268762 > >2019-02-14 Martin Liska <mliska@suse.cz> > > Backport from mainline > 2019-02-11 Martin Liska <mliska@suse.cz> > > PR ipa/89009 > * ipa-cp.c (build_toporder_info): Remove usage of a param. > * ipa-inline.c (inline_small_functions): Likewise. > * ipa-pure-const.c (propagate_pure_const): Likewise. > (propagate_nothrow): Likewise. > * ipa-reference.c (propagate): Likewise. > * ipa-utils.c (struct searchc_env): Remove unused field. > (searchc): Always search across AVAIL_INTERPOSABLE. > (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as > the only called IPA pure const can properly not propagate > across interposable boundary. > * ipa-utils.h (ipa_reduced_postorder): Remove param. >2019-02-14 Martin Liska <mliska@suse.cz> > > Backport from mainline > 2019-02-11 Martin Liska <mliska@suse.cz> > > PR ipa/89009 > * g++.dg/ipa/pr89009.C: New test. > > >git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268871 138bc75d-0d04-0410-961f-82ee72b054a4 >--- a/gcc/ipa-cp.c >+++ b/gcc/ipa-cp.c >@@ -820,7 +820,7 @@ build_toporder_info (struct ipa_topo_info *topo) > topo->stack = XCNEWVEC (struct cgraph_node *, symtab->cgraph_count); > > gcc_checking_assert (topo->stack_top == 0); >- topo->nnodes = ipa_reduced_postorder (topo->order, true, true, NULL); >+ topo->nnodes = ipa_reduced_postorder (topo->order, true, NULL); > } > > /* Free information about strongly connected components and the arrays in >--- a/gcc/ipa-inline.c >+++ b/gcc/ipa-inline.c >@@ -1759,7 +1759,7 @@ inline_small_functions (void) > metrics. */ > > max_count = profile_count::uninitialized (); >- ipa_reduced_postorder (order, true, true, NULL); >+ ipa_reduced_postorder (order, true, NULL); > free (order); > > FOR_EACH_DEFINED_FUNCTION (node) >--- a/gcc/ipa-pure-const.c >+++ b/gcc/ipa-pure-const.c >@@ -1443,7 +1443,7 @@ propagate_pure_const (void) > bool remove_p = false; > bool has_cdtor; > >- order_pos = ipa_reduced_postorder (order, true, false, >+ order_pos = ipa_reduced_postorder (order, true, > ignore_edge_for_pure_const); > if (dump_file) > { >@@ -1773,7 +1773,7 @@ propagate_nothrow (void) > int i; > struct ipa_dfs_info * w_info; > >- order_pos = ipa_reduced_postorder (order, true, false, >+ order_pos = ipa_reduced_postorder (order, true, > ignore_edge_for_nothrow); > if (dump_file) > { >--- a/gcc/ipa-reference.c >+++ b/gcc/ipa-reference.c >@@ -728,7 +728,7 @@ propagate (void) > the global information. All the nodes within a cycle will have > the same info so we collapse cycles first. Then we can do the > propagation in one pass from the leaves to the roots. */ >- order_pos = ipa_reduced_postorder (order, true, true, ignore_edge_p); >+ order_pos = ipa_reduced_postorder (order, true, ignore_edge_p); > if (dump_file) > ipa_print_order (dump_file, "reduced", order, order_pos); > >--- a/gcc/ipa-utils.c >+++ b/gcc/ipa-utils.c >@@ -63,7 +63,6 @@ struct searchc_env { > int order_pos; > splay_tree nodes_marked_new; > bool reduce; >- bool allow_overwritable; > int count; > }; > >@@ -105,7 +104,7 @@ searchc (struct searchc_env* env, struct cgraph_node *v, > > if (w->aux > && (avail > AVAIL_INTERPOSABLE >- || (env->allow_overwritable && avail == AVAIL_INTERPOSABLE))) >+ || avail == AVAIL_INTERPOSABLE)) > { > w_info = (struct ipa_dfs_info *) w->aux; > if (w_info->new_node) >@@ -162,7 +161,7 @@ searchc (struct searchc_env* env, struct cgraph_node *v, > > int > ipa_reduced_postorder (struct cgraph_node **order, >- bool reduce, bool allow_overwritable, >+ bool reduce, > bool (*ignore_edge) (struct cgraph_edge *)) > { > struct cgraph_node *node; >@@ -175,15 +174,13 @@ ipa_reduced_postorder (struct cgraph_node **order, > env.nodes_marked_new = splay_tree_new (splay_tree_compare_ints, 0, 0); > env.count = 1; > env.reduce = reduce; >- env.allow_overwritable = allow_overwritable; > > FOR_EACH_DEFINED_FUNCTION (node) > { > enum availability avail = node->get_availability (); > > if (avail > AVAIL_INTERPOSABLE >- || (allow_overwritable >- && (avail == AVAIL_INTERPOSABLE))) >+ || avail == AVAIL_INTERPOSABLE) > { > /* Reuse the info if it is already there. */ > struct ipa_dfs_info *info = (struct ipa_dfs_info *) node->aux; >--- a/gcc/ipa-utils.h >+++ b/gcc/ipa-utils.h >@@ -36,7 +36,7 @@ struct ipa_dfs_info { > > /* In ipa-utils.c */ > void ipa_print_order (FILE*, const char *, struct cgraph_node**, int); >-int ipa_reduced_postorder (struct cgraph_node **, bool, bool, >+int ipa_reduced_postorder (struct cgraph_node **, bool, > bool (*ignore_edge) (struct cgraph_edge *)); > void ipa_free_postorder_info (void); > vec<cgraph_node *> ipa_get_nodes_in_cycle (struct cgraph_node *); >--- /dev/null >+++ b/gcc/testsuite/g++.dg/ipa/pr89009.C >@@ -0,0 +1,12 @@ >+/* PR ipa/89009 */ >+/* { dg-do run } */ >+/* { dg-options "-fvisibility=hidden -fpic -O2 -fno-inline" } */ >+ >+#pragma GCC visibility push(default) >+void foo1() { __builtin_printf ("foo\n"); } >+#pragma GCC visibility pop >+void foo2() { __builtin_printf ("foo\n"); } >+ >+int main() { foo2(); return 0; } >+ >+/* { dg-output "foo" } */ >-- >2.21.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 679936
:
568402
|
568404
|
568460
| 568920