[llvm] 9e6d2c8 - [ConstraintElim] Move after first instcombine run.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 3 05:25:20 PST 2023


Author: Florian Hahn
Date: 2023-01-03T13:25:00Z
New Revision: 9e6d2c82d6aa40c5cd81443603e2d1ddbdccb65e

URL: https://github.com/llvm/llvm-project/commit/9e6d2c82d6aa40c5cd81443603e2d1ddbdccb65e
DIFF: https://github.com/llvm/llvm-project/commit/9e6d2c82d6aa40c5cd81443603e2d1ddbdccb65e.diff

LOG: [ConstraintElim] Move after first instcombine run.

Running ConstraintEliminiation after the first InstCombine run results
in slightly more simplifications on average.

There are is a tiny number of regressions, mostly due to CVP eliminating
a condition that ConstraintElimination would use, but in most cases
there's a slight improvement or no change.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D140853

Added: 
    

Modified: 
    llvm/lib/Passes/PassBuilderPipelines.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Passes/PassBuilderPipelines.cpp b/llvm/lib/Passes/PassBuilderPipelines.cpp
index 6aae40431862f..d546ab0fa4141 100644
--- a/llvm/lib/Passes/PassBuilderPipelines.cpp
+++ b/llvm/lib/Passes/PassBuilderPipelines.cpp
@@ -492,9 +492,6 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
         SimplifyCFGPass(SimplifyCFGOptions().convertSwitchRangeToICmp(true)));
   }
 
-  if (EnableConstraintElimination)
-    FPM.addPass(ConstraintEliminationPass());
-
   // Speculative execution if the target has divergent branches; otherwise nop.
   FPM.addPass(SpeculativeExecutionPass(/* OnlyIfDivergentTarget =*/true));
 
@@ -508,6 +505,9 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
   if (Level == OptimizationLevel::O3)
     FPM.addPass(AggressiveInstCombinePass());
 
+  if (EnableConstraintElimination)
+    FPM.addPass(ConstraintEliminationPass());
+
   if (!Level.isOptimizingForSize())
     FPM.addPass(LibCallsShrinkWrapPass());
 


        


More information about the llvm-commits mailing list