summaryrefslogtreecommitdiff
path: root/tools/opt/opt.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2011-05-22 06:44:19 +0000
committerChris Lattner <sabre@nondot.org>2011-05-22 06:44:19 +0000
commit3e8984a0c43b04d8a8fe88a9c187e9e338d169b4 (patch)
tree850547c3959fea1f0f08a834d707a44323aa44c8 /tools/opt/opt.cpp
parentc4cb237ca61bc382de4f89c2464564eabbfb8d8e (diff)
downloadllvm-3e8984a0c43b04d8a8fe88a9c187e9e338d169b4.tar.gz
llvm-3e8984a0c43b04d8a8fe88a9c187e9e338d169b4.tar.bz2
llvm-3e8984a0c43b04d8a8fe88a9c187e9e338d169b4.tar.xz
initialize and finalize function passes, pointed out by Cameron.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131843 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/opt/opt.cpp')
-rw-r--r--tools/opt/opt.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 251edc4820..12f7fcb72b 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -682,9 +682,12 @@ int main(int argc, char **argv) {
if (OptLevelO3)
AddOptimizationPasses(Passes, *FPasses, 3);
- if (OptLevelO1 || OptLevelO2 || OptLevelO3)
+ if (OptLevelO1 || OptLevelO2 || OptLevelO3) {
+ FPasses->doInitialization();
for (Module::iterator F = M->begin(), E = M->end(); F != E; ++F)
FPasses->run(*F);
+ FPasses->doFinalization();
+ }
// Check that the module is well formed on completion of optimization
if (!NoVerify && !VerifyEach)