[PATCH] D20789: Consecutive memory access in Loop Vectorizer - fixed and simplified

Michael Zolotukhin via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 6 11:38:14 PDT 2016


mzolotukhin added a comment.

Please find some remarks from me inline.

Tanks,
Michael


================
Comment at: ../lib/Transforms/Vectorize/LoopVectorize.cpp:2136-2137
@@ -2146,2 +2135,4 @@
+  auto *SE = PSE.getSE();
+  if (Gep->getNumOperands() != 2)
     return 0;
 
----------------
Can we relax this constraint? Looks like we didn't have such limitation before.

================
Comment at: ../lib/Transforms/Vectorize/LoopVectorize.cpp:2160-2161
@@ -2177,1 +2159,4 @@
+    Last =
+    (C->getSCEVType() == scSignExtend || C->getSCEVType() == scZeroExtend)
+    ? C->getOperand() : Last;
 
----------------
mkuper wrote:
> The formatting here looks off.
Formatting looks weird here.

================
Comment at: ../test/Transforms/LoopVectorize/consec_no_gep.ll:6
@@ +5,3 @@
+
+;; Check consecutive memory access without preceding GEP instruction
+
----------------
Could you please elaborate on what do you mean by "without preceding GEP instruction"? The test below has two GEP-instructions before load and store. Is the problem in the bitcast between GEP and load/store?


Repository:
  rL LLVM

http://reviews.llvm.org/D20789





More information about the llvm-commits mailing list