[SCEVExpander] Use llvm data structures; NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@289215 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sanjoy Das 2016-12-09 14:42:11 +00:00
parent 3ddbece9fe
commit cb7b86a1e4

View File

@ -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