[PATCH] D15412: [SCEV][LAA] Add no overflow SCEV predicates and use use them to improve strided pointer detection

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 04:28:24 PST 2016

sbaranga marked an inline comment as done.

Comment at: lib/Analysis/LoopAccessAnalysis.cpp:812
@@ -811,3 +811,3 @@
         isa<ConstantInt>(OBO->getOperand(1))) {
-      auto *OpScev = SE->getSCEV(OBO->getOperand(0));
I've added a test for this.

FWIW I've looked in detail at what's going on here and I believe there is a chance to improve things: in the added test, OBO->hasNoSignedWrap() returns false, and we therefore bail out.

I think we can deduce the NSW flag from the added SCEV predicates. This would reduce the number of required SCEV predicates by 1.


More information about the llvm-commits mailing list