[PATCH] D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores

Haicheng Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 16 12:27:18 PDT 2017


haicheng added inline comments.


================
Comment at: lib/Transforms/Scalar/LoopIdiomRecognize.cpp:577
+    if (MemIdiom == LegalStoreKind::Memcpy) {
+      FirstStoreLoad = cast<LoadInst>(SL[i]->getValueOperand());
+      assert(FirstStoreLoad->isUnordered() &&
----------------
SL[i]->getValueOperand() => FirstStoredVal


================
Comment at: lib/Transforms/Scalar/LoopIdiomRecognize.cpp:644
+      } else if (MemIdiom == LegalStoreKind::Memcpy) {
+        SecondStoreLoad = cast<LoadInst>(SL[k]->getValueOperand());
+        assert(SecondStoreLoad->isUnordered() &&
----------------
SL[k]->getValueOperand() => SecondStoredVal


================
Comment at: lib/Transforms/Scalar/LoopIdiomRecognize.cpp:943
 
   // Okay, everything looks good, insert the memset.
 
----------------
not only memset here


https://reviews.llvm.org/D34566





More information about the llvm-commits mailing list