This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Dec alias patch causing regressions
- To: law at redhat dot com
- Subject: Re: Dec alias patch causing regressions
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Mon, 12 Mar 01 13:22:45 EST
- Cc: gcc at gcc dot gnu dot org
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.