diff options
author | Chris Lattner <sabre@nondot.org> | 2002-09-25 22:26:52 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-09-25 22:26:52 +0000 |
commit | 6ffa0a7f7cac9c360dbc416a6f4e5054f55cbad1 (patch) | |
tree | 7e66015aa0a7ebd8ec95f76cb4dbfe0959db5213 | |
parent | 700975bc9b076bd9095326bb1c0e19b8763584ff (diff) | |
download | external_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
-rw-r--r-- | lib/VMCore/PassManagerT.h | 15 |
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 |