------- Comment #9 from raffalli at univ-savoie dot fr 2006-07-21 22:01 ------- Subject: Re: [4.1/4.2 regression] A file that can not be compiled in reasonable time/space hubicka at gcc dot gnu dot org a écrit : > ------- Comment #8 from hubicka at gcc dot gnu dot org 2006-07-21 21:11 ------- > Hmm, > the function fi contains 30000 calls, many of called functions contains further > calls. > Since our metric allows to replace each call by up to 10 instructions and we > allow fi to grow twice, we can end up with 600000 instructions in single basic > block (in fact we do with roughly 390000 in the inliner metrics). This is > still linear growth and the testcase is rather extreme, so I am not sure if I > would declare this inliner bug (user has asked for it by declaring stuff inline > after all ;) > > Without inlining we are not behaving much better (I am just running the > compilation and it is at 900MB, so using 1GB for inlined function bodies don't > seems to be that unresonable. I will try to play with this a bit. > > One solution might be to adjust our size estimates to be less aggressive for > large functions so the growth in actual number of statements is not 20 fold at > most but some smaller constant, but it is rather ugly. > > Honza > > > may be a look at the assembly code generated by icc which behave very well on this test case could be usefull ? Christophe -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28071