From bed36c4198ada058860d516d01f12f8916723827 Mon Sep 17 00:00:00 2001 From: Patrik Hagglund Date: Wed, 15 Jun 2016 10:32:00 +0000 Subject: [PATCH] Use FPasses in opt exactly when it is initialized. Previously, there was a discrepancy between the population of function passes in FPasses, and their invocation. Function passes specified on the command line, after an optimizaton level was simply discared. This fix PR27509. Patch by Jesper Antonsson. Differential Review: http://reviews.llvm.org/D20725 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272770 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/opt/opt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 6891204ab7d..def3f42f2d3 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -615,7 +615,7 @@ int main(int argc, char **argv) { if (OptLevelO3) AddOptimizationPasses(Passes, *FPasses, TM.get(), 3, 0); - if (OptLevelO1 || OptLevelO2 || OptLevelOs || OptLevelOz || OptLevelO3) { + if (FPasses) { FPasses->doInitialization(); for (Function &F : *M) FPasses->run(F); -- 2.11.0