Skip to content

Commit 6f29d1a

Browse files
committed
Reland [Pipeline] Don't limit ArgumentPromotion to -O3
This is a cheap pass so there's no need to limit to -O3. This removes some differences between various pipelines. Code size regressions should be addressed with https://reviews.llvm.org/D149768. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D148269
1 parent 24f36a2 commit 6f29d1a

8 files changed

+9
-11
lines changed

llvm/lib/Passes/PassBuilderPipelines.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -884,10 +884,8 @@ PassBuilder::buildInlinerPipeline(OptimizationLevel Level,
884884
// functions.
885885
MainCGPipeline.addPass(PostOrderFunctionAttrsPass(/*SkipNonRecursive*/ true));
886886

887-
// When at O3 add argument promotion to the pass pipeline.
888-
// FIXME: It isn't at all clear why this should be limited to O3.
889-
if (Level == OptimizationLevel::O3)
890-
MainCGPipeline.addPass(ArgumentPromotionPass());
887+
// Try to promote pointer arguments for internal functions.
888+
MainCGPipeline.addPass(ArgumentPromotionPass());
891889

892890
// Try to perform OpenMP specific optimizations. This is a (quick!) no-op if
893891
// there are no OpenMP runtime calls present in the module.

llvm/test/Other/new-pm-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
; CHECK-O-NEXT: Running pass: InlinerPass
140140
; CHECK-O-NEXT: Running pass: InlinerPass
141141
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
142-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
142+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
143143
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
144144
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
145145
; CHECK-EP-CGSCC-LATE-NEXT: Running pass: NoOpCGSCCPass

llvm/test/Other/new-pm-thinlto-postlink-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
; CHECK-O-NEXT: Running pass: InlinerPass
8686
; CHECK-O-NEXT: Running pass: InlinerPass
8787
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
88-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
88+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
8989
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9090
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9191
; CHECK-O-NEXT: Running pass: SROAPass

llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
; CHECK-O-NEXT: Running pass: InlinerPass
7575
; CHECK-O-NEXT: Running pass: InlinerPass
7676
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
77-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
77+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
7878
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
7979
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
8080
; CHECK-O-NEXT: Running pass: SROAPass

llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
; CHECK-O-NEXT: Running pass: InlinerPass
8282
; CHECK-O-NEXT: Running pass: InlinerPass
8383
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
84-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
84+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
8585
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
8686
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
8787
; CHECK-O-NEXT: Running pass: SROAPass

llvm/test/Other/new-pm-thinlto-prelink-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
; CHECK-O-NEXT: Running pass: InlinerPass
8686
; CHECK-O-NEXT: Running pass: InlinerPass
8787
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
88-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
88+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
8989
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9090
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9191
; CHECK-O-NEXT: Running pass: SROAPass

llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
; CHECK-O-NEXT: Running pass: InlinerPass
100100
; CHECK-O-NEXT: Running pass: InlinerPass
101101
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
102-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
102+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
103103
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
104104
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
105105
; CHECK-O-NEXT: Running pass: SROAPass

llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@
7878
; CHECK-O-NEXT: Running pass: InlinerPass
7979
; CHECK-O-NEXT: Running pass: InlinerPass
8080
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
81-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
81+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
8282
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
8383
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
8484
; CHECK-O-NEXT: Running pass: SROAPass

0 commit comments

Comments
 (0)