[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Dmitry Gorbachev changed: What|Removed |Added CC||d.g.gorbachev at gmail dot ||com --- Comment #16 from Dmitry Gorbachev 2011-09-14 18:28:20 UTC --- *** Bug 50226 has been marked as a duplicate of this bug. ***
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Jan Hubicka changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED --- Comment #15 from Jan Hubicka 2011-09-13 14:56:17 UTC --- Fixed.
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #14 from Jan Hubicka 2011-09-13 14:28:47 UTC --- Author: hubicka Date: Tue Sep 13 14:28:39 2011 New Revision: 178810 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178810 Log: PR other/49533 * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output. Modified: trunk/gcc/ChangeLog trunk/gcc/cgraphunit.c
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #13 from Markus Trippelsdorf 2011-09-13 10:57:28 UTC --- The fix is fine. Thanks. Please don't forget to also close Bug 49665 when you close this bug.
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #12 from Jan Hubicka 2011-09-13 10:14:30 UTC --- *** Bug 50381 has been marked as a duplicate of this bug. ***
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Jan Hubicka changed: What|Removed |Added Attachment #24602|0 |1 is obsolete|| --- Comment #11 from Jan Hubicka 2011-09-13 10:09:17 UTC --- Created attachment 25261 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25261 Proposed fix Hi, there seems to be 3 bugs cooperating on this problem. 1) we sometimes forget to output alias in comdat group since assemble_alias gets into wrong code path when called from cgraphunit 2) I made pasto while walking aliases testing always the master node instead of alias 3) test checking aliases looks only for unremovable function that are called, instead for functions that are either unremovable or called. Honza
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #10 from Markus Trippelsdorf 2011-09-01 06:44:39 UTC --- (In reply to comment #9) > has this been fixed? No.
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #9 from Andrew Pinski 2011-08-31 21:05:14 UTC --- has this been fixed?
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Richard Guenther changed: What|Removed |Added Target Milestone|--- |4.7.0
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 --- Comment #8 from Markus Trippelsdorf 2011-07-13 21:13:31 UTC --- Hmm, that whole approach doesn't seem to work. The following patch survives building of stellarium and explains the failures that I've reported above: diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index c329bea..bef1d38 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -122,7 +122,10 @@ can_remove_node_now_p (struct cgraph_node *node, struct cgraph_edge *e) next != node; next = next->same_comdat_group) if (node->callers && node->callers != e && !can_remove_node_now_p_1 (node)) - return false; + { +gcc_unreachable(); +return false; + } return true; } Even when one changes node to next in the if clause, "next->callers == e" is always true and the following patch also survives building of stellarium. But it merely brings us back to the status quo before commit 7791b0eb56c3c went in... diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index c329bea..2a09de8 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -120,9 +120,13 @@ can_remove_node_now_p (struct cgraph_node *node, struct cgraph_edge *e) return true; for (next = node->same_comdat_group; next != node; next = next->same_comdat_group) -if (node->callers && node->callers != e - && !can_remove_node_now_p_1 (node)) - return false; +if (next->callers + && !can_remove_node_now_p_1 (next)) + { +gcc_assert (next->callers == e); +return false; + } + gcc_unreachable(); return true; }
[Bug other/49533] [4.7 regression] Revision 174989 (ipa-inline-transform.c) regressions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49533 Markus Trippelsdorf changed: What|Removed |Added Summary|[4.7 regression] Firefox|[4.7 regression] Revision |profiled build issues |174989 ||(ipa-inline-transform.c) ||regressions --- Comment #7 from Markus Trippelsdorf 2011-07-11 19:45:06 UTC --- Another instance of the same regression (caused by commit 7791b0eb56c3c): stellarium build (without PGO) with latest gcc crashes on exit: [Thread 0x7fffee9cb700 (LWP 16857) exited] [Thread 0x74d5a700 (LWP 16821) exited] Program received signal SIGSEGV, Segmentation fault. 0x in ?? () (gdb) bt #0 0x in ?? () #1 0x76c331b1 in __run_exit_handlers (status=0, listp=0x76d594c8, run_list_atexit=true) at exit.c:78 #2 0x76c33235 in exit (status=Unhandled dwarf expression opcode 0xf3 ) at exit.c:100 #3 0x76c1cf89 in __libc_start_main (main=0x60b500 , argc=1, ubp_av=0x7fffe158, init=Unhandled dwarf expression opcode 0xf3 ) at libc-start.c:258 #4 0x004a2589 in _start () Reverting 7791b0eb56c3c "solves" the problem. And I guess Bug 49665 is a dup of the same issue.