This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/28071] [4.1/4.2 regression] A file that can not be compiled in reasonable time/space



------- 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


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28071


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]