This is the mail archive of the gcc@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]

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>


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