[llvm-commits] [llvm] r111500 - in /llvm/trunk: include/llvm/Pass.h include/llvm/PassManagers.h lib/Analysis/IPA/CallGraphSCCPass.cpp lib/Analysis/LoopPass.cpp lib/VMCore/Pass.cpp lib/VMCore/PassManager.cpp
Dan Gohman
gohman at apple.com
Wed Aug 18 18:29:07 PDT 2010
Author: djg
Date: Wed Aug 18 20:29:07 2010
New Revision: 111500
URL: http://llvm.org/viewvc/llvm-project?rev=111500&view=rev
Log:
Revert r111199; it breaks -debug-pass=Structure output.
Modified:
llvm/trunk/include/llvm/Pass.h
llvm/trunk/include/llvm/PassManagers.h
llvm/trunk/lib/Analysis/IPA/CallGraphSCCPass.cpp
llvm/trunk/lib/Analysis/LoopPass.cpp
llvm/trunk/lib/VMCore/Pass.cpp
llvm/trunk/lib/VMCore/PassManager.cpp
Modified: llvm/trunk/include/llvm/Pass.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Pass.h?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Pass.h (original)
+++ llvm/trunk/include/llvm/Pass.h Wed Aug 18 20:29:07 2010
@@ -163,7 +163,7 @@
virtual void verifyAnalysis() const;
// dumpPassStructure - Implement the -debug-passes=PassStructure option
- void dumpPass(unsigned Offset = 0);
+ virtual void dumpPassStructure(unsigned Offset = 0);
// lookupPassInfo - Return the pass info object for the specified pass class,
// or null if it is not known.
Modified: llvm/trunk/include/llvm/PassManagers.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/PassManagers.h?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/include/llvm/PassManagers.h (original)
+++ llvm/trunk/include/llvm/PassManagers.h Wed Aug 18 20:29:07 2010
@@ -362,9 +362,6 @@
InheritedAnalysis[Index++] = (*I)->getAvailableAnalysis();
}
- /// dumpPassStructure - Implement the -debug-passes=PassStructure option.
- virtual void dumpPassStructure(unsigned Offset) = 0;
-
protected:
// Top level manager.
Modified: llvm/trunk/lib/Analysis/IPA/CallGraphSCCPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/IPA/CallGraphSCCPass.cpp?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/IPA/CallGraphSCCPass.cpp (original)
+++ llvm/trunk/lib/Analysis/IPA/CallGraphSCCPass.cpp Wed Aug 18 20:29:07 2010
@@ -73,7 +73,7 @@
errs().indent(Offset*2) << "Call Graph SCC Pass Manager\n";
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
Pass *P = getContainedPass(Index);
- P->dumpPass(Offset + 1);
+ P->dumpPassStructure(Offset + 1);
dumpLastUses(P, Offset+1);
}
}
Modified: llvm/trunk/lib/Analysis/LoopPass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/LoopPass.cpp?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/LoopPass.cpp (original)
+++ llvm/trunk/lib/Analysis/LoopPass.cpp Wed Aug 18 20:29:07 2010
@@ -332,7 +332,7 @@
errs().indent(Offset*2) << "Loop Pass Manager\n";
for (unsigned Index = 0; Index < getNumContainedPasses(); ++Index) {
Pass *P = getContainedPass(Index);
- P->dumpPass(Offset + 1);
+ P->dumpPassStructure(Offset + 1);
dumpLastUses(P, Offset+1);
}
}
Modified: llvm/trunk/lib/VMCore/Pass.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Pass.cpp?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/Pass.cpp (original)
+++ llvm/trunk/lib/VMCore/Pass.cpp Wed Aug 18 20:29:07 2010
@@ -48,8 +48,8 @@
return Resolver->getAnalysisIfAvailable(&AID, true) != 0;
}
-// dumpPass - Implement the -debug-passes=Structure option
-void Pass::dumpPass(unsigned Offset) {
+// dumpPassStructure - Implement the -debug-passes=Structure option
+void Pass::dumpPassStructure(unsigned Offset) {
dbgs().indent(Offset*2) << getPassName() << "\n";
}
Modified: llvm/trunk/lib/VMCore/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/PassManager.cpp?rev=111500&r1=111499&r2=111500&view=diff
==============================================================================
--- llvm/trunk/lib/VMCore/PassManager.cpp (original)
+++ llvm/trunk/lib/VMCore/PassManager.cpp Wed Aug 18 20:29:07 2010
@@ -192,7 +192,7 @@
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 @@
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 @@
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 @@
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 @@
// 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 @@
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 @@
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);
}
}
More information about the llvm-commits
mailing list