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: [patch]Fix the aliasing on vector replacements to match the original scalar array


On Wed, May 25, 2005 at 02:14:22AM -0500, Keith Besaw wrote:
> /* NEXT_PASS (pass_may_alias) cannot be done again because the
>    vectorizer creates alias relations that are not supported by
>    pass_may_alias.  */
> 
Yes.

> I was very surprised that I needed to call
> mark_sym_for_renaming.  IIRC the peeling done in the vectorizer
> renamed a v-def in the loop for which there was a v-use outside
> the loop.  The loop wasn't in loop-closed form, i.e., there
> wasn't a PHI node v-def.outside = v-def.inside in the exit
> block.
>
As Zdenek pointed out, virtuals are not kept in loop-closed form
anymore.  If your peeling creates new vdefs, the virtual chains
for the symbol need to be patched up, that's why you need to mark
the symbol for renaming.

But if you find the specific test case send it over, maybe there
is something else going on.


Diego.


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