[PATCH] D104595: [NFC] [LoopIdiom] Let processLoopStridedStore able to take SCEV as Store Size

Whitney Tsang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 20 15:35:32 PDT 2021


Whitney added inline comments.


================
Comment at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1003
                       AliasAnalysis &AA,
                       SmallPtrSetImpl<Instruction *> &IgnoredStores) {
   // Get the location that may be stored across the loop.  Since the access is
----------------
Do you think is beneficial to make this a forwarder in the meantime? like
```
const SCEV *StoreSizeSCEV = SE->getSCEV(StoreSize);
mayLoopAccessLocation(Ptr, Access, L, BECount, StoreSizeSCEV, AA, IgnoredStores);
```


================
Comment at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1032
 
+// This is a temporal version that takes StoreSize as SCEV. The goal is to make
+// all LoopIdiom optimizations to take StoreSize as SCEV. Then the above version
----------------
If you plan to fully replace the original version, can you copy all the comments as well.


================
Comment at: llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp:1129
+                                ScalarEvolution *SE) {
+  const SCEV *TripCountS;
+  // The # stored bytes is (BECount+1).  Expand the trip count out to
----------------
Initialize to nullptr.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104595



More information about the llvm-commits mailing list