This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [LTO] Flattening memory expressions?
Hi,
On Thu, 8 Jun 2006, Daniel Berlin wrote:
> >> Thoughts?
> >
> > We (me and Matz) thought over this as well and concluded it would be
> > nice to have
> >
> > - MEM_REF ( base, offset, alias_tag )
> >
> > with base being either some memory object or an INDIRECT_REF of a
> > pointer and be done with that tree code.
>
> So if you have MEM_REF(INDIRECT_REF(a),i,0), you really haven't done any
> better in removing recursion :)
What type the first operand would be could be a one-bit flag in the
MEM_REF itself. I.e. if there's an implicit INDIRECT_REF around the
first operand, or not. The important part is only that the target address
of that memory reference is computable completely trivially, namely by A +
i, where A is either a or &a depending on that flag. And the more
important thing anyway is that alias information of this specific mem
reference encoded therein.
> > The MEM_REF would also contain an alias tag for easy oracle queries
>
> Tag has some meaning in our current structure. I'd support some sort of
> generic token that associates the alias info with it, however.
All a matter of naming, sure :-)
Ciao,
Michael.