[PATCH] D14296: [LV][LAA] Add a layer over SCEV to apply run-time checked knowledge on SCEV expressions
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 11 05:32:00 PST 2015
jmolloy added a subscriber: jmolloy.
jmolloy added a comment.
Hi,
So most of this patch is just plumbing and renaming - the guts is the addition of SCEVPredicateLayer.
Bikeshedding: I'm not too happy with the name. SCEV is the prefix used for the internal node types of ScalarEvolution. Something like PredicatedScalarEvolution might sound better?
I'm a bit worried about how easy it is to subvert the predicated mechanism. For example:
PSE.getSCEV(); // Gets a scev under a predicate
PSE.getSE()->getSCEV(); // Gets a scev not under a predicate
And there are places in LoopVectorize that sem to use "PSE.getSE()" quite a bit... are we sure they aren't subverting the predicates? If they do, is that a correctness or a performance issue?
If it's just a performance thing, it might be nice to make use of ScalarEvolution even easier by defining an operator->/operator* so you can do
PSE->getEqualPredicate();
PSE.getSCEV();
James
http://reviews.llvm.org/D14296
More information about the llvm-commits
mailing list