summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/Analysis/ScalarEvolutionExpander.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h b/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h
index a82506d6f84..517592a3d04 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;
@@ -67,7 +69,7 @@ namespace llvm {
Instruction *IVIncInsertPos;
/// Phis that complete an IV chain. Reuse
- std::set<AssertingVH<PHINode> > ChainedPhis;
+ DenseSet<AssertingVH<PHINode>> ChainedPhis;
/// When true, expressions are expanded in "canonical" form. In particular,
/// addrecs are expanded as arithmetic based on a canonical induction
OpenPOWER on IntegriCloud