[Bug rtl-optimization/43058] [4.5 Regression] var-tracking uses up all virtual memory

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Feb 13 19:38:00 GMT 2010



------- Comment #4 from rguenth at gcc dot gnu dot org  2010-02-13 19:38 -------
With that we get the much more sane

Deciding on functions called once:

Considering define_strings size 840.
 Called once from Init_libxg 37 insns.
 Inlined into Init_libxg which now has 876 size for a net change of -841 size.

Considering define_integers size 11078.
 Called once from Init_libxg 876 insns.
 Not inlining: --param large-function-growth limit reached.

Considering define_doubles size 56.
 Called once from Init_libxg 876 insns.
 Inlined into Init_libxg which now has 931 size for a net change of -57 size.

Considering define_functions size 78022.
 Called once from Init_libxg 931 insns.
 Not inlining: --param large-function-growth limit reached.

Considering define_atoms size 119.
 Called once from Init_libxg 931 insns.
 Inlined into Init_libxg which now has 1049 size for a net change of -120 size.

Considering define_structs size 757.
 Called once from Init_libxg 1049 insns.
 Inlined into Init_libxg which now has 1805 size for a net change of -758 size.



The problem with the present code is that as long as the function we want
to inline is LARGE_FUNCTION_GROWTH percent bigger than the caller
we will continue to grow the caller up to infinite size.


-- 


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



More information about the Gcc-bugs mailing list