This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Beginner's question:Are there any inter-procedural optimization in GCC backend ?
"Zack Weinberg" <zack@codesourcery.com> writes:
> 2) The RTL inliner is a major obstacle to making all RTL be
> transiently allocated, and therefore to removing RTL from the
> purview of the garbage collector. Daniel Berlin has numbers
> indicating that allocation of RTL from the GC heap causes huge
> amounts of memory to be wasted, with consequent compile-time
> performance hit.
The RTL inliner is not the only obstacle to this. Many places in the
backends and in the middle-end keep references to RTL which they
expect to stay around forever. Usually these things are constants of
some form, SYMBOL_REFs or CONST_INTs, but LABEL_REFs are also constant,
which is the point at which life becomes complicated.
--
- Geoffrey Keating <geoffk@geoffk.org>