[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