[Bug middle-end/37448] [4.3 Regression] gcc 4.3.1 cannot compile big function

zadeck at naturalbridge dot com gcc-bugzilla@gcc.gnu.org
Sat Sep 27 12:45:00 GMT 2008



------- Comment #23 from zadeck at naturalbridge dot com  2008-09-27 12:44 -------
I do not believe honza.  

My measurements at -O0 on x86-42 are about 15 refs per insn.  
This is based on the following stats.  (These can be reproduced using a patch
that i am about to submit).

;;    total ref usage 8428419{7601408d,827011u,0e} in 570685{406804 regular +
163881 call} insns.

This yields about 15 refs per insn.   While this number is large, it is
reasonable considering that slightly less than 30% of the insns are call
instructions.   Call instructions have a lot of clobbers.   It is possible that
some mechanism could be devised to share these refs, but this will mess up
things like building chains so it is certainly not something that is going to
be easy to do.

The df patch that i have submitted makes modest progress on reducing the size
of df-refs.   Hopefully bonzini will finish reviewing this soon.

I should also point out that honza's alloc pool stats were completely bogus.  I
have submitted a patch that fixes the way stats are accumulated for
alloc-pools.  We can account for all of the df-refs and the peak usage
according to the new alloc-pool stats is very close to the number used by the
largest function.

Once those patches are installed, I will consider this bugzilla resolved with
respect to the df issues.  


-- 


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



More information about the Gcc-bugs mailing list