diff options
| author | Dan Gohman <gohman@apple.com> | 2010-05-14 15:36:54 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2010-05-14 15:36:54 +0000 |
| commit | 8d1bc79327bd95bb6a7a415636c77e805afa5f43 (patch) | |
| tree | 6842ccd510bc60f79875c6edfd611eee7858e8cb /llvm | |
| parent | 1603b2e45765d8760c046862d079cbf01875038c (diff) | |
| download | bcm5719-llvm-8d1bc79327bd95bb6a7a415636c77e805afa5f43.tar.gz bcm5719-llvm-8d1bc79327bd95bb6a7a415636c77e805afa5f43.zip | |
Use regular PassManager instead of FunctionPassManager in opt, since it
isn't doing lazy streaming. This also fixes a missing doFinalization call.
llvm-svn: 103774
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/tools/opt/opt.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp index ff19942ead8..51b920f5331 100644 --- a/llvm/tools/opt/opt.cpp +++ b/llvm/tools/opt/opt.cpp @@ -268,7 +268,7 @@ struct BasicBlockPassPrinter : public BasicBlockPass { }; char BasicBlockPassPrinter::ID = 0; -inline void addPass(PassManager &PM, Pass *P) { +inline void addPass(PassManagerBase &PM, Pass *P) { // Add the pass to the pass manager... PM.add(P); @@ -281,7 +281,7 @@ inline void addPass(PassManager &PM, Pass *P) { /// duplicates llvm-gcc behaviour. /// /// OptLevel - Optimization Level -void AddOptimizationPasses(PassManager &MPM, FunctionPassManager &FPM, +void AddOptimizationPasses(PassManagerBase &MPM, PassManagerBase &FPM, unsigned OptLevel) { createStandardFunctionPasses(&FPM, OptLevel); @@ -305,7 +305,7 @@ void AddOptimizationPasses(PassManager &MPM, FunctionPassManager &FPM, InliningPass); } -void AddStandardCompilePasses(PassManager &PM) { +void AddStandardCompilePasses(PassManagerBase &PM) { PM.add(createVerifierPass()); // Verify that input is correct addPass(PM, createLowerSetJmpPass()); // Lower llvm.setjmp/.longjmp @@ -328,7 +328,7 @@ void AddStandardCompilePasses(PassManager &PM) { InliningPass); } -void AddStandardLinkPasses(PassManager &PM) { +void AddStandardLinkPasses(PassManagerBase &PM) { PM.add(createVerifierPass()); // Verify that input is correct // If the -strip-debug command line option was specified, do it. @@ -422,9 +422,9 @@ int main(int argc, char **argv) { if (TD) Passes.add(TD); - OwningPtr<FunctionPassManager> FPasses; + OwningPtr<PassManager> FPasses; if (OptLevelO1 || OptLevelO2 || OptLevelO3) { - FPasses.reset(new FunctionPassManager(M.get())); + FPasses.reset(new PassManager()); if (TD) FPasses->add(new TargetData(*TD)); } @@ -521,12 +521,8 @@ int main(int argc, char **argv) { if (OptLevelO3) AddOptimizationPasses(Passes, *FPasses, 3); - if (OptLevelO1 || OptLevelO2 || OptLevelO3) { - FPasses->doInitialization(); - for (Module::iterator I = M.get()->begin(), E = M.get()->end(); - I != E; ++I) - FPasses->run(*I); - } + if (OptLevelO1 || OptLevelO2 || OptLevelO3) + FPasses->run(*M.get()); // Check that the module is well formed on completion of optimization if (!NoVerify && !VerifyEach) |

