[llvm] r272770 - Use FPasses in opt exactly when it is initialized.

Patrik Hagglund via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 15 03:32:00 PDT 2016


Author: patha
Date: Wed Jun 15 05:32:00 2016
New Revision: 272770

URL: http://llvm.org/viewvc/llvm-project?rev=272770&view=rev
Log:
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

Modified:
    llvm/trunk/tools/opt/opt.cpp

Modified: llvm/trunk/tools/opt/opt.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=272770&r1=272769&r2=272770&view=diff
==============================================================================
--- llvm/trunk/tools/opt/opt.cpp (original)
+++ llvm/trunk/tools/opt/opt.cpp Wed Jun 15 05:32:00 2016
@@ -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);




More information about the llvm-commits mailing list