[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 Alexandre Oliva aoliva at gcc dot gnu.org changed: What|Removed |Added Resolution|WORKSFORME |FIXED --- Comment #7 from Alexandre Oliva aoliva at gcc dot gnu.org 2011-01-12 05:03:37 UTC --- This was fixed by revision 168271. If we fail to bring in the vtbl ptr assignment from the cleanup stmt into the constexpr ctor, the inliner gets thoroughly confused as expectations as to indirect calls are unmet. I couldn't determine exactly why the inliner ends up thinking it inlined a function into itself, but I've already spend enough time getting acquainted with constexprs and the cgraph inliner for now, and the fix is definitely good, so I'll leave it at that.
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 Jan Hubicka hubicka at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||WORKSFORME --- Comment #6 from Jan Hubicka hubicka at gcc dot gnu.org 2011-01-07 18:36:13 UTC --- Also no longer reproduces. Function obviously should never be inlined into itself
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 Alexandre Oliva aoliva at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC||aoliva at gcc dot gnu.org AssignedTo|unassigned at gcc dot |aoliva at gcc dot gnu.org |gnu.org | --- Comment #5 from Alexandre Oliva aoliva at gcc dot gnu.org 2011-01-06 17:50:25 UTC --- Mine
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 --- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-19 10:17:03 UTC --- Created attachment 22455 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22455 reduced testcase Reduced with Index: gcc/ipa-inline.c === --- gcc/ipa-inline.c(revision 166907) +++ gcc/ipa-inline.c(working copy) @@ -1175,6 +1175,7 @@ cgraph_decide_inlining_of_small_function { if (where-decl == edge-callee-decl) break; + gcc_assert (where != where-callers-caller); where = where-callers-caller; } if (where-global.inlined_to)
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 --- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-19 10:18:02 UTC --- It looks like we are inlining a recursive virtual call and get confused in that process.
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 --- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2010-11-18 10:32:38 UTC --- Created attachment 22440 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22440 testcase
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug tree-optimization/46535] [4.6 Regression] Endless loop during inlining
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46535 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.11.18 14:02:15 CC||jason at redhat dot com Ever Confirmed|0 |1 --- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2010-11-18 14:02:15 UTC --- It is triggered by revision 166167: http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00053.html