Skip to content

Commit 5b386b8

Browse files
committed
[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. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D148269
1 parent 0b911a3 commit 5b386b8

8 files changed

+9
-11
lines changed

llvm/lib/Passes/PassBuilderPipelines.cpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -841,10 +841,8 @@ PassBuilder::buildInlinerPipeline(OptimizationLevel Level,
841841
// functions.
842842
MainCGPipeline.addPass(PostOrderFunctionAttrsPass(/*SkipNonRecursive*/ true));
843843

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

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

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

+1-1
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

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
; CHECK-O-NEXT: Running pass: InlinerPass
8787
; CHECK-O-NEXT: Running pass: InlinerPass
8888
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
89-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
89+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
9090
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9191
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
9292
; CHECK-O-NEXT: Running pass: SROAPass

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
; CHECK-O-NEXT: Running pass: InlinerPass
7676
; CHECK-O-NEXT: Running pass: InlinerPass
7777
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
78-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
78+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
7979
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
8080
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
8181
; CHECK-O-NEXT: Running pass: SROAPass

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
; CHECK-O-NEXT: Running pass: InlinerPass
8383
; CHECK-O-NEXT: Running pass: InlinerPass
8484
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
85-
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
85+
; CHECK-O-NEXT: Running pass: ArgumentPromotionPass
8686
; CHECK-O2-NEXT: Running pass: OpenMPOptCGSCCPass
8787
; CHECK-O3-NEXT: Running pass: OpenMPOptCGSCCPass
8888
; CHECK-O-NEXT: Running pass: SROAPass

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

+1-1
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

+1-1
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

+1-1
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)