Use SmallVector instead of std::vector
authorDevang Patel <dpatel@apple.com>
Tue, 12 Aug 2008 15:44:31 +0000 (15:44 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 12 Aug 2008 15:44:31 +0000 (15:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54685 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/PassManagers.h
lib/VMCore/PassManager.cpp

index ff06024ed47e5ae0e59172e7b5ce9331b2ae289b..f8e1308c235b4b3a74f158f920ba4832ba592f95 100644 (file)
@@ -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;
 };
index ed0dde03a187ceacde5c0f4c56d5cab07b42f84b..68a856a4d519ca976a351b045ee117b80dc6d0ad 100644 (file)
@@ -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;