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]

Re: Dec alias patch causing regressions


    Precisely.    From what I can gather, it appears that we've got a lot
    more memory references with non-zero alias sets, which is generally a
    good thing -- with the exception of these shared stack slots.

Right. 

I realized what's happening on the way in.  The problem is that when we
inline a function, we allocate memory for its incoming argument slots and
its local variable slots.  Those are allocated at alias set 0, since we don't
know what's in them.  So they are marked as not conflicting.

But when we reference the actual variable, we use the alias set of the
variable. This confuses things.

So the fix is to mark two temp slots as conflicting if neither has a
corresponding type.

This will mean we can't share these areas of memory, which is unfortunate,
but I think I have an idea that just might work for some time in the future
to allow such sharing.


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