summaryrefslogtreecommitdiff
path: root/lib/VMCore/PassManager.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-19 01:29:07 +0000
committerDan Gohman <gohman@apple.com>2010-08-19 01:29:07 +0000
commit8a757aeac436ecd27e28a39b10032fd6fda33780 (patch)
tree397e91149bef905899082abcdc6ce5681c954467 /lib/VMCore/PassManager.cpp
parente81043a7df0c7902758322a3000b7cb2048b71df (diff)
downloadllvm-8a757aeac436ecd27e28a39b10032fd6fda33780.tar.gz
llvm-8a757aeac436ecd27e28a39b10032fd6fda33780.tar.bz2
llvm-8a757aeac436ecd27e28a39b10032fd6fda33780.tar.xz
Revert r111199; it breaks -debug-pass=Structure output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/PassManager.cpp')
-rw-r--r--lib/VMCore/PassManager.cpp28
1 files changed, 10 insertions, 18 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 14c91740ae..ab4d4e55c7 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -192,7 +192,7 @@ public:
llvm::dbgs() << std::string(Offset*2, ' ') << "BasicBlockPass Manager\n";
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
BasicBlockPass *BP = getContainedPass(Index);
- BP->dumpPass(Offset + 1);
+ BP->dumpPassStructure(Offset + 1);
dumpLastUses(BP, Offset+1);
}
}
@@ -286,11 +286,6 @@ public:
FPPassManager *FP = static_cast<FPPassManager *>(PassManagers[N]);
return FP;
}
-
- /// dumpPassStructure - Implement the -debug-passes=PassStructure option.
- void dumpPassStructure(unsigned) {
- llvm_unreachable("dumpPassStructure called on FunctionPassManagerImpl");
- }
};
char FunctionPassManagerImpl::ID = 0;
@@ -353,7 +348,7 @@ public:
llvm::dbgs() << std::string(Offset*2, ' ') << "ModulePass Manager\n";
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
ModulePass *MP = getContainedPass(Index);
- MP->dumpPass(Offset + 1);
+ MP->dumpPassStructure(Offset + 1);
std::map<Pass *, FunctionPassManagerImpl *>::const_iterator I =
OnTheFlyManagers.find(MP);
if (I != OnTheFlyManagers.end())
@@ -437,11 +432,6 @@ public:
MPPassManager *MP = static_cast<MPPassManager *>(PassManagers[N]);
return MP;
}
-
- /// dumpPassStructure - Implement the -debug-passes=PassStructure option.
- void dumpPassStructure(unsigned) {
- llvm_unreachable("dumpPassStructure called on PassManagerImpl");
- }
};
char PassManagerImpl::ID = 0;
@@ -667,14 +657,16 @@ void PMTopLevelManager::dumpPasses() const {
// Print out the immutable passes
for (unsigned i = 0, e = ImmutablePasses.size(); i != e; ++i) {
- ImmutablePasses[i]->dumpPass();
+ ImmutablePasses[i]->dumpPassStructure(0);
}
- // Print out the normal passes. We add an extra layer of indentation here
- // to help distinguish them visually from the immutable passes.
+ // Every class that derives from PMDataManager also derives from Pass
+ // (sometimes indirectly), but there's no inheritance relationship
+ // between PMDataManager and Pass, so we have to getAsPass to get
+ // from a PMDataManager* to a Pass*.
for (SmallVector<PMDataManager *, 8>::const_iterator I = PassManagers.begin(),
E = PassManagers.end(); I != E; ++I)
- (*I)->dumpPassStructure(1);
+ (*I)->getAsPass()->dumpPassStructure(1);
}
void PMTopLevelManager::dumpArguments() const {
@@ -1049,7 +1041,7 @@ void PMDataManager::dumpLastUses(Pass *P, unsigned Offset) const{
for (SmallVector<Pass *, 12>::iterator I = LUses.begin(),
E = LUses.end(); I != E; ++I) {
llvm::dbgs() << "--" << std::string(Offset*2, ' ');
- (*I)->dumpPass(0);
+ (*I)->dumpPassStructure(0);
}
}
@@ -1417,7 +1409,7 @@ void FPPassManager::dumpPassStructure(unsigned Offset) {
llvm::dbgs() << std::string(Offset*2, ' ') << "FunctionPass Manager\n";
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
FunctionPass *FP = getContainedPass(Index);
- FP->dumpPass(Offset + 1);
+ FP->dumpPassStructure(Offset + 1);
dumpLastUses(FP, Offset+1);
}
}