[PATCH] D16197: [LV] Vectorize pre-load recurrences

silviu.baranga@arm.com via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 15 04:36:07 PST 2016


sbaranga added a subscriber: sbaranga.

================
Comment at: lib/Transforms/Utils/LoopUtils.cpp:562
@@ +561,3 @@
+  // Next, calculate the stride of the pointer operand.
+  auto *Step = AR->getStepRecurrence(*SE);
+  if (!isa<SCEVConstant>(Step))
----------------
It might be worth taking a PredicatedScalarEvolution for this function which I think might help in some cases.

At the moment it is possible that the loop was versioned such that AR's step is known to be 1. In this case doing PSE->getSCEV() would give you the more accurate expression.

I think you also need to check that AR's is an AddRecExpr for TheLoop?


http://reviews.llvm.org/D16197





More information about the llvm-commits mailing list