[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #16 from Jan Hubicka hubicka at gcc dot gnu.org ---
Fixed.


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-19 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #15 from Jan Hubicka hubicka at gcc dot gnu.org ---
Author: hubicka
Date: Mon Jan 19 20:46:15 2015
New Revision: 219859

URL: https://gcc.gnu.org/viewcvs?rev=219859root=gccview=rev
Log:

PR ipa/64218
* ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
whether function is an alias.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-inline.c


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #12 from Jan Hubicka hubicka at gcc dot gnu.org ---
Would be possible to upload updated testcase? The reduced one seems to work for
me on both x86-64 and ppc64.


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #13 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34479
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34479action=edit
unreduced testcase

Unreduced testcase is attached. Crashes both on ppc64 and x86_64.

 % g++ -w -c -O3 -std=c++11 recursive_variant_test.ii


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-18 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #14 from Jan Hubicka hubicka at gcc dot gnu.org ---
Good, now it reproduces.  The problem is that inliner removes the alias target
and it leaves the alias itself to be removed by remove_unreachable_nodes.  It
however manages to crash ealrier looking if the alias shall be inlined as
called once in somewhat convoluted test whether symbol is an alias.

Index: ipa-inline.c
===
--- ipa-inline.c(revision 219826)
+++ ipa-inline.c(working copy)
@@ -866,7 +866,8 @@ want_inline_function_to_all_callers_p (s
 {
   bool has_hot_call = false;

-  if (node-ultimate_alias_target () != node)
+  /* Aliases gets inlined along with the function they alias.  */
+  if (node-alias)
 return false;
   /* Already inlined?  */
   if (node-global.inlined_to)


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-16 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #11 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #10)
 Wonder if this one is fixed, too...

No. It still crashes.


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-15 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #10 from Jan Hubicka hubicka at gcc dot gnu.org ---
Wonder if this one is fixed, too...


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2015-01-14 Thread larsbj at gullik dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Lars Gullik Bjønnes larsbj at gullik dot net changed:

   What|Removed |Added

 CC||larsbj at gullik dot net

--- Comment #9 from Lars Gullik Bjønnes larsbj at gullik dot net ---
I see the same segfault also outside of the boost testsuite,
have not been able to produce a test case that is uploadable.
(without significant reduction I am not allowed to post the code.)

[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-15 Thread antoshkka at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #8 from Antony Polukhin antoshkka at gmail dot com ---
A few more observations:
* Same Boost test compiles and works well on -mcpu=power8 with -fno-rtti
* Test fails to compile on -mcpu=power8 *WITH RTTI on*:

0x109ccb0b crash_signal
?../../gcc/gcc/toplev.c:358
0x10513e10 symtab_node::get_alias_target()
?../../gcc/gcc/cgraph.h:2250
0x10513e10 symtab_node::ultimate_alias_target(availability*)
?../../gcc/gcc/symtab.c:1302
0x1101f367 cgraph_node::ultimate_alias_target(availability*)
?../../gcc/gcc/cgraph.h:2693
0x1101f367 want_inline_function_to_all_callers_p
?../../gcc/gcc/ipa-inline.c:840
0x1101f367 ipa_inline
?../../gcc/gcc/ipa-inline.c:2249
0x1101f367 execute
?../../gcc/gcc/ipa-inline.c:2562


Here's a whole comand line (just in case):
g++  -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -fPIC
-std=c++11 -mcpu=power8 -DBOOST_ALL_NO_LIB=1 -DNDEBUG  -I.. -c -o
/home/trippels/results/boost/bin.v2/libs/variant/test/recursive_variant_test.test/gcc-5.0.0/release/pch-off/recursive_variant_test.o
../libs/variant/test/recursive_variant_test.cpp


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-14 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #7 from Jan Hubicka hubicka at gcc dot gnu.org ---
I guess the problem is that we inline function but do not eliminate its (now
dead) alias.  Probably it is better to do so in inline-transform like this:
Index: ipa-inline-transform.c
===
--- ipa-inline-transform.c  (revision 218722)
+++ ipa-inline-transform.c  (working copy)
@@ -199,6 +199,12 @@
 until after these clones are materialized.  */
   !master_clone_with_noninline_clones_p (e-callee))
{
+ ipa_ref *alias;
+ /* Remove aliases (that must be dead by can_remove_node_now_p)
+so they do not confuse us later.  */
+ while (e-callee-iterate_direct_aliases (0, alias))
+   alias-referred-remove ();
+
  /* TODO: When callee is in a comdat group, we could remove all of it,
 including all inline clones inlined into it.  That would however
 need small function inlining to register edge removal hook to

will need to find a way to reproduce this though.

Honza


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-09 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Martin Liška marxin at gcc dot gnu.org changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org
   Assignee|marxin at gcc dot gnu.org  |unassigned at gcc dot 
gnu.org

--- Comment #6 from Martin Liška marxin at gcc dot gnu.org ---
Hello.

You are Markus right, that it started with r218048, but it's actually caused
by: r218024. Reason for that is that sreal, utilized for inlining purpose, was
broken between r218008-r218048.

Problematic commit:

2014-11-22  Jan Hubicka  hubi...@ucw.cz

PR ipa/63671
* ipa-inline-transform.c (can_remove_node_now_p_1): Handle alises
and -fno-devirtualize more carefully.
(can_remove_node_now_p): Update.

Thanks,
Martin

[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2014-12-08
   Target Milestone|--- |5.0
Summary|ICE during compilation with |[5 Regression] ICE:
   |-fno-rtti -O3   |Segmentation fault
   ||(symtab_node::get_alias_tar
   ||get()) running Boost
   ||testsuite
 Ever confirmed|0   |1

--- Comment #3 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Reducing...


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

--- Comment #4 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Created attachment 34221
  -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34221action=edit
Somewhat reduced testcase

Somewhat reduced, still over 1000 lines of code.

trippels@gcc20 boost_root % g++ -w -c -O2 -std=c++11 recursive_variant_test.ii
recursive_variant_test.ii:1450:1: internal compiler error: Segmentation fault
 }
 ^
0xcc9fef crash_signal
../../gcc/gcc/toplev.c:358
0x900e72 symtab_node::get_alias_target()
../../gcc/gcc/cgraph.h:2247
0x900e72 symtab_node::ultimate_alias_target(availability*)
../../gcc/gcc/symtab.c:1293
0x1314a0a cgraph_node::ultimate_alias_target(availability*)
../../gcc/gcc/cgraph.h:2690
0x1314a0a want_inline_function_to_all_callers_p
../../gcc/gcc/ipa-inline.c:840
0x1314a0a ipa_inline
../../gcc/gcc/ipa-inline.c:2245
0x1314a0a execute
../../gcc/gcc/ipa-inline.c:2558
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug ipa/64218] [5 Regression] ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite

2014-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64218

Markus Trippelsdorf trippels at gcc dot gnu.org changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org

--- Comment #5 from Markus Trippelsdorf trippels at gcc dot gnu.org ---
Started with r218048.