[PATCH] D22377: [SCEV] trip count calculation for loops with unknown stride

Elena Demikhovsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 17 01:36:39 PDT 2020


delena added inline comments.
Herald added a subscriber: jfb.


================
Comment at: llvm/trunk/lib/Analysis/ScalarEvolution.cpp:4965
+
+        return !I.mayHaveSideEffects();
+      });
----------------
This code is incorrect for masked store and scatter. It returns true for simple store, but false for the masked intrinsics.
As a result we can't calculate trip count for the loop "j" after vectorization of the loop "i":

for (int = 0; j < jCount; j+=Step) {
      for (int i = 0; i < 1023; ++i) {
        int ind = j*jStride + k*kStride + i;
        B[ind] = A[ind] + 2;
      }
    }


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D22377/new/

https://reviews.llvm.org/D22377





More information about the llvm-commits mailing list