[ConstraintElim] Enable pass by default.
The pass should help to close a functional gap when it comes to reasoning about related conditions in a relatively general way. It addresses multiple existing issues (linked below) and the need for a more powerful reasoning system was also discussed recently in https://discourse.llvm.org/t/rfc-alternative-approach-of-dealing-with-implications-from-comparisons-through-pos-analysis/65601/7 On AArch64, the new pass performs ~2000 simplifications on MultiSource,SPEC2006,SPEC2017 with -O3. Compile-time impact: NewPM-O3: +0.20% NewPM-ReleaseThinLTO: +0.32% NewPM-ReleaseLTO-g: +0.28% https://llvm-compile-time-tracker.com/compare.php?from=f01a3a893c147c1594b9a3fbd817456b209dabbf&to=577688758ef64fb044215ec3e497ea901bb2db28&stat=instructions:u Fixes #49344. Fixes #47888. Fixes #48253. Fixes #49229. Fixes #58074. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D135915
This commit is contained in:
@@ -263,7 +263,7 @@ static cl::opt<bool>
|
||||
cl::desc("Enable lowering of the matrix intrinsics"));
|
||||
|
||||
static cl::opt<bool> EnableConstraintElimination(
|
||||
"enable-constraint-elimination", cl::init(false), cl::Hidden,
|
||||
"enable-constraint-elimination", cl::init(true), cl::Hidden,
|
||||
cl::desc(
|
||||
"Enable pass to eliminate conditions based on linear constraints"));
|
||||
|
||||
|
||||
@@ -154,6 +154,7 @@
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O3-NEXT: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
@@ -89,6 +89,7 @@
|
||||
; CHECK-O23SZ-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-EP-Peephole-NEXT: Running pass: NoOpFunctionPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
|
||||
; CHECK-O23SZ-NEXT: Running pass: SROAPass on foo
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
@@ -128,6 +128,7 @@
|
||||
; CHECK-O-DAG: Running analysis: BranchProbabilityAnalysis on foo
|
||||
; CHECK-O-DAG: Running analysis: PostDominatorTreeAnalysis on foo
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
@@ -96,6 +96,7 @@
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
|
||||
; CHECK-O1-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O2-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
; CHECK-O3-NEXT: Running pass: LibCallsShrinkWrapPass
|
||||
|
||||
Reference in New Issue
Block a user