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 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
general optimization.

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 did.
Though you should probably wait a day or so and see if anyone objects.



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