This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH]: Fix bug preventing some LICM in PRE
We have a patch that allows the vectorizer to overcome such invariant phis
What exactly are you going to vectorize if PRE has removed the only
computation in the loop?
Also, the phi is no more or less invariant than the original computation,
so i'm not quite sure why it matters to the vectorizer :)
By the way, we mantioned this PRE issue in PR18181, which prompted the
introduction of these testcases.
is completely loop invariant out of both loops, and the fixed PRE will
happily move it.
I've simply added -fno-tree-pre to the default flags for the vectorizer
tests for now, since this is supposed to be testing vectorization, not
Well, we want to check how the vectorizer behaves in a normal -O2
compilation (users will not often use -fno-tree-pre) so I would prefer
removing the -fno-tree-pre and xfail these testcases.
Okay, if that's what you want to do, please do that.
This will let vectorizer people test that we
vectorize whatever they like.
If we keep the -fno-tree-pre in vect.exp we have to remove the xfail from
vect-85.c, because without PRE vect-85.c gets vectorized (we get an XPASS
with your patch, on i686-pc-linux-gnu and powerpc-darwin).
I prefer that we remove the -fno-tree-pre from vect.exp and xfail testcases
vect-[86.87.88].c for now, until we incorporate the patch that ignores
invariant phis in the vectorizer.
would that be OK for mainline?
I think i can approve that, since it's more or less a reversion of what i
Though you should probably wait a day or so and see if anyone objects.