diff options
-rw-r--r-- | llvm/include/llvm/Analysis/ScalarEvolutionExpander.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h b/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h index 337a11b6dd0..19c1177aeff 100644 --- a/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h +++ b/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h @@ -14,13 +14,14 @@ #ifndef LLVM_ANALYSIS_SCALAREVOLUTIONEXPANDER_H #define LLVM_ANALYSIS_SCALAREVOLUTIONEXPANDER_H +#include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/DenseSet.h" #include "llvm/ADT/Optional.h" #include "llvm/Analysis/ScalarEvolutionExpressions.h" #include "llvm/Analysis/ScalarEvolutionNormalization.h" #include "llvm/Analysis/TargetFolder.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/ValueHandle.h" -#include <set> namespace llvm { class TargetTransformInfo; @@ -43,11 +44,12 @@ namespace llvm { const char* IVName; // InsertedExpressions caches Values for reuse, so must track RAUW. - std::map<std::pair<const SCEV *, Instruction *>, TrackingVH<Value> > - InsertedExpressions; + DenseMap<std::pair<const SCEV *, Instruction *>, TrackingVH<Value>> + InsertedExpressions; + // InsertedValues only flags inserted instructions so needs no RAUW. - std::set<AssertingVH<Value> > InsertedValues; - std::set<AssertingVH<Value> > InsertedPostIncValues; + DenseSet<AssertingVH<Value>> InsertedValues; + DenseSet<AssertingVH<Value>> InsertedPostIncValues; /// A memoization of the "relevant" loop for a given SCEV. DenseMap<const SCEV *, const Loop *> RelevantLoops; @@ -68,7 +70,7 @@ namespace llvm { Instruction *IVIncInsertPos; /// \brief Phis that complete an IV chain. Reuse - std::set<AssertingVH<PHINode> > ChainedPhis; + DenseSet<AssertingVH<PHINode>> ChainedPhis; /// \brief When true, expressions are expanded in "canonical" form. In /// particular, addrecs are expanded as arithmetic based on a canonical |