summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/include/llvm/PassManagers.h12
-rw-r--r--llvm/lib/VMCore/PassManager.cpp24
2 files changed, 18 insertions, 18 deletions
diff --git a/llvm/include/llvm/PassManagers.h b/llvm/include/llvm/PassManagers.h
index ff06024ed47..f8e1308c235 100644
--- a/llvm/include/llvm/PassManagers.h
+++ b/llvm/include/llvm/PassManagers.h
@@ -186,7 +186,7 @@ public:
ImmutablePasses.push_back(P);
}
- inline std::vector<ImmutablePass *>& getImmutablePasses() {
+ inline SmallVector<ImmutablePass *, 8>& getImmutablePasses() {
return ImmutablePasses;
}
@@ -212,13 +212,13 @@ public:
protected:
/// Collection of pass managers
- std::vector<PMDataManager *> PassManagers;
+ SmallVector<PMDataManager *, 8> PassManagers;
private:
/// Collection of pass managers that are not directly maintained
/// by this pass manager
- std::vector<PMDataManager *> IndirectPassManagers;
+ SmallVector<PMDataManager *, 8> IndirectPassManagers;
// Map to keep track of last user of the analysis pass.
// LastUser->second is the last user of Lastuser->first.
@@ -230,7 +230,7 @@ private:
DenseMap<Pass *, SmallPtrSet<Pass *, 8> > InversedLastUser;
/// Immutable passes are managed by top level manager.
- std::vector<ImmutablePass *> ImmutablePasses;
+ SmallVector<ImmutablePass *, 8> ImmutablePasses;
DenseMap<Pass *, AnalysisUsage *> AnUsageMap;
};
@@ -350,7 +350,7 @@ protected:
PMTopLevelManager *TPM;
// Collection of pass that are managed by this manager
- std::vector<Pass *> PassVector;
+ SmallVector<Pass *, 16> PassVector;
// Collection of Analysis provided by Parent pass manager and
// used by current pass manager. At at time there can not be more
@@ -369,7 +369,7 @@ private:
// Collection of higher level analysis used by the pass managed by
// this manager.
- std::vector<Pass *> HigherLevelAnalysis;
+ SmallVector<Pass *, 8> HigherLevelAnalysis;
unsigned Depth;
};
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp
index ed0dde03a18..68a856a4d51 100644
--- a/llvm/lib/VMCore/PassManager.cpp
+++ b/llvm/lib/VMCore/PassManager.cpp
@@ -491,18 +491,18 @@ Pass *PMTopLevelManager::findAnalysisPass(AnalysisID AID) {
Pass *P = NULL;
// Check pass managers
- for (std::vector<PMDataManager *>::iterator I = PassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::iterator I = PassManagers.begin(),
E = PassManagers.end(); P == NULL && I != E; ++I) {
PMDataManager *PMD = *I;
P = PMD->findAnalysisPass(AID, false);
}
// Check other pass managers
- for (std::vector<PMDataManager *>::iterator I = IndirectPassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::iterator I = IndirectPassManagers.begin(),
E = IndirectPassManagers.end(); P == NULL && I != E; ++I)
P = (*I)->findAnalysisPass(AID, false);
- for (std::vector<ImmutablePass *>::iterator I = ImmutablePasses.begin(),
+ for (SmallVector<ImmutablePass *, 8>::iterator I = ImmutablePasses.begin(),
E = ImmutablePasses.end(); P == NULL && I != E; ++I) {
const PassInfo *PI = (*I)->getPassInfo();
if (PI == AID)
@@ -535,7 +535,7 @@ void PMTopLevelManager::dumpPasses() const {
// (sometimes indirectly), but there's no inheritance relationship
// between PMDataManager and Pass, so we have to dynamic_cast to get
// from a PMDataManager* to a Pass*.
- for (std::vector<PMDataManager *>::const_iterator I = PassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::const_iterator I = PassManagers.begin(),
E = PassManagers.end(); I != E; ++I)
dynamic_cast<Pass *>(*I)->dumpPassStructure(1);
}
@@ -546,7 +546,7 @@ void PMTopLevelManager::dumpArguments() const {
return;
cerr << "Pass Arguments: ";
- for (std::vector<PMDataManager *>::const_iterator I = PassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::const_iterator I = PassManagers.begin(),
E = PassManagers.end(); I != E; ++I) {
PMDataManager *PMD = *I;
PMD->dumpPassArguments();
@@ -556,14 +556,14 @@ void PMTopLevelManager::dumpArguments() const {
void PMTopLevelManager::initializeAllAnalysisInfo() {
- for (std::vector<PMDataManager *>::iterator I = PassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::iterator I = PassManagers.begin(),
E = PassManagers.end(); I != E; ++I) {
PMDataManager *PMD = *I;
PMD->initializeAnalysisInfo();
}
// Initailize other pass managers
- for (std::vector<PMDataManager *>::iterator I = IndirectPassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::iterator I = IndirectPassManagers.begin(),
E = IndirectPassManagers.end(); I != E; ++I)
(*I)->initializeAnalysisInfo();
@@ -583,11 +583,11 @@ void PMTopLevelManager::initializeAllAnalysisInfo() {
/// Destructor
PMTopLevelManager::~PMTopLevelManager() {
- for (std::vector<PMDataManager *>::iterator I = PassManagers.begin(),
+ for (SmallVector<PMDataManager *, 8>::iterator I = PassManagers.begin(),
E = PassManagers.end(); I != E; ++I)
delete *I;
- for (std::vector<ImmutablePass *>::iterator
+ for (SmallVector<ImmutablePass *, 8>::iterator
I = ImmutablePasses.begin(), E = ImmutablePasses.end(); I != E; ++I)
delete *I;
@@ -626,7 +626,7 @@ bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) {
return true;
const AnalysisUsage::VectorType &PreservedSet = AnUsage->getPreservedSet();
- for (std::vector<Pass *>::iterator I = HigherLevelAnalysis.begin(),
+ for (SmallVector<Pass *, 8>::iterator I = HigherLevelAnalysis.begin(),
E = HigherLevelAnalysis.end(); I != E; ++I) {
Pass *P1 = *I;
if (!dynamic_cast<ImmutablePass*>(P1) &&
@@ -940,7 +940,7 @@ void PMDataManager::dumpLastUses(Pass *P, unsigned Offset) const{
}
void PMDataManager::dumpPassArguments() const {
- for(std::vector<Pass *>::const_iterator I = PassVector.begin(),
+ for(SmallVector<Pass *, 8>::const_iterator I = PassVector.begin(),
E = PassVector.end(); I != E; ++I) {
if (PMDataManager *PMD = dynamic_cast<PMDataManager *>(*I))
PMD->dumpPassArguments();
@@ -1054,7 +1054,7 @@ void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
// Destructor
PMDataManager::~PMDataManager() {
- for (std::vector<Pass *>::iterator I = PassVector.begin(),
+ for (SmallVector<Pass *, 8>::iterator I = PassVector.begin(),
E = PassVector.end(); I != E; ++I)
delete *I;
OpenPOWER on IntegriCloud