[llvm] 9a40f9f - {SLP] Make it clear ScheduleDataMap is keyed by instructions [NFC]

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 23 13:31:43 PST 2022


Author: Philip Reames
Date: 2022-02-23T13:31:36-08:00
New Revision: 9a40f9f6814923a27ddeb439dd216d967de0d2d1

URL: https://github.com/llvm/llvm-project/commit/9a40f9f6814923a27ddeb439dd216d967de0d2d1
DIFF: https://github.com/llvm/llvm-project/commit/9a40f9f6814923a27ddeb439dd216d967de0d2d1.diff

LOG: {SLP] Make it clear ScheduleDataMap is keyed by instructions [NFC]

Added: 
    

Modified: 
    llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 12ab69aa74ce..d6ee0300d329 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -2636,13 +2636,19 @@ class BoUpSLP {
       ++SchedulingRegionID;
     }
 
-    ScheduleData *getScheduleData(Value *V) {
-      ScheduleData *SD = ScheduleDataMap[V];
+    ScheduleData *getScheduleData(Instruction *I) {
+      ScheduleData *SD = ScheduleDataMap[I];
       if (SD && isInSchedulingRegion(SD))
         return SD;
       return nullptr;
     }
 
+    ScheduleData *getScheduleData(Value *V) {
+      if (auto *I = dyn_cast<Instruction>(V))
+        return getScheduleData(I);
+      return nullptr;
+    }
+
     ScheduleData *getScheduleData(Value *V, Value *Key) {
       if (V == Key)
         return getScheduleData(V);
@@ -2842,7 +2848,7 @@ class BoUpSLP {
     /// Attaches ScheduleData to Instruction.
     /// Note that the mapping survives during all vectorization iterations, i.e.
     /// ScheduleData structures are recycled.
-    DenseMap<Value *, ScheduleData *> ScheduleDataMap;
+    DenseMap<Instruction *, ScheduleData *> ScheduleDataMap;
 
     /// Attaches ScheduleData to Instruction with the leading key.
     DenseMap<Value *, SmallDenseMap<Value *, ScheduleData *>>


        


More information about the llvm-commits mailing list