aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore/PassManagerT.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-09-25 22:26:52 +0000
committerChris Lattner <sabre@nondot.org>2002-09-25 22:26:52 +0000
commit6ffa0a7f7cac9c360dbc416a6f4e5054f55cbad1 (patch)
tree7e66015aa0a7ebd8ec95f76cb4dbfe0959db5213 /lib/VMCore/PassManagerT.h
parent700975bc9b076bd9095326bb1c0e19b8763584ff (diff)
downloadexternal_llvm-6ffa0a7f7cac9c360dbc416a6f4e5054f55cbad1.zip
external_llvm-6ffa0a7f7cac9c360dbc416a6f4e5054f55cbad1.tar.gz
external_llvm-6ffa0a7f7cac9c360dbc416a6f4e5054f55cbad1.tar.bz2
* Fix ugly bug in previous checkin where I reused the name 'i' one too many times
* Print out immutable passes in the -debug-pass=Structure report. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3923 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/PassManagerT.h')
-rw-r--r--lib/VMCore/PassManagerT.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/VMCore/PassManagerT.h b/lib/VMCore/PassManagerT.h
index df54b06..913a64f 100644
--- a/lib/VMCore/PassManagerT.h
+++ b/lib/VMCore/PassManagerT.h
@@ -173,15 +173,16 @@ public:
CurrentAnalyses.clear();
// Add any immutable passes to the CurrentAnalyses set...
- for (unsigned i = 0, e = ImmutablePasses.size(); i != e; ++i)
- if (const PassInfo *PI = ImmutablePasses[i]->getPassInfo()) {
- CurrentAnalyses[PI] = ImmutablePasses[i];
+ for (unsigned i = 0, e = ImmutablePasses.size(); i != e; ++i) {
+ ImmutablePass *IPass = ImmutablePasses[i];
+ if (const PassInfo *PI = IPass->getPassInfo()) {
+ CurrentAnalyses[PI] = IPass;
const std::vector<const PassInfo*> &II = PI->getInterfacesImplemented();
for (unsigned i = 0, e = II.size(); i != e; ++i)
- CurrentAnalyses[II[i]] = ImmutablePasses[i];
+ CurrentAnalyses[II[i]] = IPass;
}
-
+ }
// LastUserOf - This contains the inverted LastUseOfMap...
std::map<Pass *, std::vector<Pass*> > LastUserOf;
@@ -297,6 +298,10 @@ public:
// dumpPassStructure - Implement the -debug-passes=PassStructure option
virtual void dumpPassStructure(unsigned Offset = 0) {
+ // Print out the immutable passes...
+ for (unsigned i = 0, e = ImmutablePasses.size(); i != e; ++i)
+ ImmutablePasses[i]->dumpPassStructure(0);
+
std::cerr << std::string(Offset*2, ' ') << Traits::getPMName()
<< " Pass Manager\n";
for (typename std::vector<PassClass*>::iterator