tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: inline (Was: Bloat)



On Thu, 2009-02-12 at 11:00 -0500, der Mouse wrote:
> > The biggest problem with doing global optimization is structural: in
> > Unix the compiler is expected to behave a certain way with respect to
> > object files, and object files have a fixed format and well known
> > semantics.
> 
> Not all that much so.  For example, if you were to turn .o files into a
> serialization of gcc's internal "tree" structure (I'm handwaving
> tremendously here, I know), the disruption for almost all uses of .o
> files would probably be no greater than the disruption caused by
> switching from a.out to ELF.

ELF is a great object format, in that you can put pretty much whatever
you want into it.  For the GCC global optimizer work they are storing
essentially that (in addition to the basic machine code).  You then get
a choice at link time -- use the intermediate code and run a global
optimization, or use the machine code as is...

See http://gcc.gnu.org/wiki/LinkTimeOptimization

R.



Home | Main Index | Thread Index | Old Index