------- Comment #8 from rguenther at suse dot de 2009-07-29 08:09 ------- Subject: Re: [4.5 Regression] ICE with recursion at -O3
On Tue, 28 Jul 2009, jamborm at gcc dot gnu dot org wrote: > ------- Comment #7 from jamborm at gcc dot gnu dot org 2009-07-28 20:59 > ------- > Ha, please disregard the previous message, obviously I had to make a > fool out of myself before realizing that loops in the inlining plan > are the bug, not how we handle them. > > The reason there are such loops is that ipa-cp has made a portion of > the graph effectively dead but strongly connected via single uses > which ipa-inline handles specially and wants to inline them whenever > it seems possible. But it sis not check for loops. > > So, I belive the patch below fixes this issue and I am going to > bootstrap it overnight. Honza, can you please confirm this is indeed > a correct fix? Thanks. > + && node->callers->caller->global.inlined_to != node That only detects direct loops, does it? IMHO ipa-inline should have computed callgraph SCCs anyway for a long time now ... we just seem to keep accumulating interesting workarounds for cycles ;) Richard. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40570