diff options
author | Devang Patel <dpatel@apple.com> | 2006-12-14 00:08:04 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2006-12-14 00:08:04 +0000 |
commit | 693a74e4ee34e2058dab7121c17c98ec59258a8a (patch) | |
tree | 04b7a4a4ff69c9f6202bd856fa2478d31a9ad257 /lib/VMCore | |
parent | 4eeea774ce1b24fa55c06aac31e02016d5dd77d6 (diff) | |
download | external_llvm-693a74e4ee34e2058dab7121c17c98ec59258a8a.zip external_llvm-693a74e4ee34e2058dab7121c17c98ec59258a8a.tar.gz external_llvm-693a74e4ee34e2058dab7121c17c98ec59258a8a.tar.bz2 |
Add " Made Modification " messages in debug-pass=Executions output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32572 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r-- | lib/VMCore/PassManager.cpp | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index bd66546..add056b 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -918,16 +918,23 @@ BasicBlockPassManager::runOnFunction(Function &F) { bool Changed = doInitialization(F); initializeAnalysisInfo(); + std::string Msg1 = "Executing Pass '"; + std::string Msg3 = "' Made Modification '"; + for (Function::iterator I = F.begin(), E = F.end(); I != E; ++I) for (std::vector<Pass *>::iterator itr = passVectorBegin(), e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - std::string Msg1 = "Executing Pass '"; std::string Msg2 = "' on BasicBlock '" + (*I).getName() + "'...\n"; dumpPassInfo(P, Msg1, Msg2); initializeAnalysisImpl(P); + BasicBlockPass *BP = dynamic_cast<BasicBlockPass*>(P); Changed |= BP->runOnBasicBlock(*I); + + if (Changed) + dumpPassInfo(P, Msg3, Msg2); + removeNotPreservedAnalysis(P); recordAvailableAnalysis(P); removeDeadPasses(P, Msg2); @@ -1141,15 +1148,23 @@ bool FunctionPassManagerImpl_New::runOnFunction(Function &F) { initializeAnalysisInfo(); + std::string Msg1 = "Executing Pass '"; + std::string Msg3 = "' Made Modification '"; + for (std::vector<Pass *>::iterator itr = passVectorBegin(), e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - std::string Msg1 = "Executing Pass '"; + std::string Msg2 = "' on Function '" + F.getName() + "'...\n"; dumpPassInfo(P, Msg1, Msg2); + initializeAnalysisImpl(P); FunctionPass *FP = dynamic_cast<FunctionPass*>(P); Changed |= FP->runOnFunction(F); + + if (Changed) + dumpPassInfo(P, Msg3, Msg2); + removeNotPreservedAnalysis(P); recordAvailableAnalysis(P); removeDeadPasses(P, Msg2); @@ -1273,15 +1288,23 @@ ModulePassManager::runOnModule(Module &M) { bool Changed = false; initializeAnalysisInfo(); + std::string Msg1 = "Executing Pass '"; + std::string Msg3 = "' Made Modification '"; + for (std::vector<Pass *>::iterator itr = passVectorBegin(), e = passVectorEnd(); itr != e; ++itr) { Pass *P = *itr; - std::string Msg1 = "Executing Pass '"; + std::string Msg2 = "' on Module '" + M.getModuleIdentifier() + "'...\n"; dumpPassInfo(P, Msg1, Msg2); + initializeAnalysisImpl(P); ModulePass *MP = dynamic_cast<ModulePass*>(P); Changed |= MP->runOnModule(M); + + if (Changed) + dumpPassInfo(P, Msg3, Msg2); + removeNotPreservedAnalysis(P); recordAvailableAnalysis(P); removeDeadPasses(P, Msg2); |