This is the mail archive of the gcc-patches@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: [sa]: Revert partial def stuff, use fake variables instead


Hello,

> In addition to the mainline merge, i've made significant changes to how 
> struct-aliasing operates.
> It now uses fake variables to represent structure fields, instead of 
> trying to make partial defs and uses work.
> This is because it end up being a lot less work, even if there is some 
> overhead in figuring out the fake variables associated with a given 
> component ref.
> The attached patch is the changes necessary to make this work.
> I've disabled ivopts because, as diego discovered, ivopts decides it knows 
> how to create tags for pointers when it really doesn't, when it should 
> just be calling the may_alias pass.

no it definitely should not.  What it should do is to preserve the
aliasing information unchanged (ivopts do not change the the memory
references at all, they just change the way the addresses of those
references are expressed).  The fact that this is very hard (or even
impossible) to do with the current system of representation of alias
analysis results can hardly be considered a problem of ivopts.

Why not just add an annotation for memory references that would contain
the associated tag (or whatever other information is needed with your
patch)?  It would make my life so much easier (and it would also make
operand rescanning faster, and the whole system more flexible).

Zdenek


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