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


    Note that the aliasing code already marks two memory references as
    conflicting (alias-set wise) if one of them has alias set 0.

I know.

    Also note if you go back to the dump information I sent all the memory
    references in question had non-zero alias sets.

Yes, that's what makes this confusing.  We assume that we know the alias
set that a stack slot will be used with when we allocate the stack slot.
But that's not true in this case since we are allocating a block of memory
to be used for *all* the local variables or arguments in the instantiation
of the inlined function.  But copy_rtx_and_substitute keeps the old alias
set (it has to), so that we have the case where a temp slot is being used
with an alias set other than the one in which it's created.  The whole
point of the December patch was to prevent that, but it can't in this case,
so we can't share these blocks.


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