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: Link-time optimzation


Mark Mitchell <mark@codesourcery.com> writes:

>   http://gcc.gnu.org/projects/lto/lto.pdf

> 
> Section 4.2 (Executable Representation) describes the GVM as a stack
> machine, and mentions load, store, duplicate, and swap operations.
> But it also discusses having registers which correspond to GIMPLE
> local variables.  The way I put this together is that a MODIFY_EXPR
> which sets a local variable, say, will be converted to something that
> computes the expression using a stack and then assigns the value to a
> register.  It's easy to see how to convert such a MODIFY_EXPR into a
> stack machine and back.  But it's not easy to see why that stack
> machine is going to need, e.g, a swap operation.  There is no GIMPLE
> swap operator.  So I may still be confused about something.

You are most likely correct.  We either do not need a swap or do not
want to encourage people to try to optimize the trees so much that
they need a swap.
> 
> Ian


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