[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