Skip to content

Commit 38dc885

Browse files
LebedevRImemfrob
authored andcommitted
[NFC][PassBuilder] addVectorPasses(): clarify that 'IsLTO' is actually 'IsFullLTO'
I.e. it will be `false` for thin lto.
1 parent a3555ba commit 38dc885

File tree

4 files changed

+19
-19
lines changed

4 files changed

+19
-19
lines changed

llvm/include/llvm/Passes/PassBuilder.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ class PassBuilder {
710710
void addRequiredLTOPreLinkPasses(ModulePassManager &MPM);
711711

712712
void addVectorPasses(OptimizationLevel Level, FunctionPassManager &FPM,
713-
bool IsLTO);
713+
bool IsFullLTO);
714714

715715
static Optional<std::vector<PipelineElement>>
716716
parsePipelineText(StringRef Text);

llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ class PassManagerBuilder {
218218
void addLateLTOOptimizationPasses(legacy::PassManagerBase &PM);
219219
void addPGOInstrPasses(legacy::PassManagerBase &MPM, bool IsCS);
220220
void addFunctionSimplificationPasses(legacy::PassManagerBase &MPM);
221-
void addVectorPasses(legacy::PassManagerBase &PM, bool IsLTO);
222-
221+
void addVectorPasses(legacy::PassManagerBase &PM, bool IsFullLTO);
222+
223223
public:
224224
/// populateFunctionPassManager - This fills in the function pass manager,
225225
/// which is expected to be run on each function immediately as it is

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1198,11 +1198,11 @@ PassBuilder::buildModuleSimplificationPipeline(OptimizationLevel Level,
11981198

11991199
/// TODO: Should LTO cause any differences to this set of passes?
12001200
void PassBuilder::addVectorPasses(OptimizationLevel Level,
1201-
FunctionPassManager &FPM, bool IsLTO) {
1201+
FunctionPassManager &FPM, bool IsFullLTO) {
12021202
FPM.addPass(LoopVectorizePass(
12031203
LoopVectorizeOptions(!PTO.LoopInterleaving, !PTO.LoopVectorization)));
12041204

1205-
if (IsLTO) {
1205+
if (IsFullLTO) {
12061206
// The vectorizer may have significantly shortened a loop body; unroll
12071207
// again. Unroll small loops to hide loop backedge latency and saturate any
12081208
// parallel execution resources of an out-of-order processor. We also then
@@ -1220,7 +1220,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
12201220
FPM.addPass(WarnMissedTransformationsPass());
12211221
}
12221222

1223-
if (!IsLTO) {
1223+
if (!IsFullLTO) {
12241224
// Eliminate loads by forwarding stores from the previous iteration to loads
12251225
// of the current iteration.
12261226
FPM.addPass(LoopLoadEliminationPass());
@@ -1267,7 +1267,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
12671267
.hoistCommonInsts(true)
12681268
.sinkCommonInsts(true)));
12691269

1270-
if (IsLTO) {
1270+
if (IsFullLTO) {
12711271
FPM.addPass(SCCPPass());
12721272
FPM.addPass(InstCombinePass());
12731273
FPM.addPass(BDCEPass());
@@ -1283,7 +1283,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
12831283
// Enhance/cleanup vector code.
12841284
FPM.addPass(VectorCombinePass());
12851285

1286-
if (!IsLTO) {
1286+
if (!IsFullLTO) {
12871287
FPM.addPass(InstCombinePass());
12881288
// Unroll small loops to hide loop backedge latency and saturate any
12891289
// parallel execution resources of an out-of-order processor. We also then
@@ -1312,7 +1312,7 @@ void PassBuilder::addVectorPasses(OptimizationLevel Level,
13121312
// alignment information, try to re-derive it here.
13131313
FPM.addPass(AlignmentFromAssumptionsPass());
13141314

1315-
if (IsLTO)
1315+
if (IsFullLTO)
13161316
FPM.addPass(InstCombinePass());
13171317
}
13181318

@@ -1410,7 +1410,7 @@ PassBuilder::buildModuleOptimizationPipeline(OptimizationLevel Level,
14101410
// from the TargetLibraryInfo.
14111411
OptimizePM.addPass(InjectTLIMappings());
14121412

1413-
addVectorPasses(Level, OptimizePM, /* IsLTO */ false);
1413+
addVectorPasses(Level, OptimizePM, /* IsFullLTO */ false);
14141414

14151415
// Split out cold code. Splitting is done late to avoid hiding context from
14161416
// other optimizations and inadvertently regressing performance. The tradeoff
@@ -1862,7 +1862,7 @@ PassBuilder::buildLTODefaultPipeline(OptimizationLevel Level,
18621862

18631863
MainFPM.addPass(LoopDistributePass());
18641864

1865-
addVectorPasses(Level, MainFPM, /* IsLTO */ true);
1865+
addVectorPasses(Level, MainFPM, /* IsFullLTO */ true);
18661866

18671867
invokePeepholeEPCallbacks(MainFPM, Level);
18681868
MainFPM.addPass(JumpThreadingPass(/*InsertFreezeWhenUnfoldingSelect*/ true));

llvm/lib/Transforms/IPO/PassManagerBuilder.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -531,10 +531,10 @@ void PassManagerBuilder::addFunctionSimplificationPasses(
531531

532532
/// FIXME: Should LTO cause any differences to this set of passes?
533533
void PassManagerBuilder::addVectorPasses(legacy::PassManagerBase &PM,
534-
bool IsLTO) {
534+
bool IsFullLTO) {
535535
PM.add(createLoopVectorizePass(!LoopsInterleaved, !LoopVectorize));
536536

537-
if (IsLTO) {
537+
if (IsFullLTO) {
538538
// The vectorizer may have significantly shortened a loop body; unroll
539539
// again. Unroll small loops to hide loop backedge latency and saturate any
540540
// parallel execution resources of an out-of-order processor. We also then
@@ -550,7 +550,7 @@ void PassManagerBuilder::addVectorPasses(legacy::PassManagerBase &PM,
550550
PM.add(createWarnMissedTransformationsPass());
551551
}
552552

553-
if (!IsLTO) {
553+
if (!IsFullLTO) {
554554
// Eliminate loads by forwarding stores from the previous iteration to loads
555555
// of the current iteration.
556556
PM.add(createLoopLoadEliminationPass());
@@ -590,7 +590,7 @@ void PassManagerBuilder::addVectorPasses(legacy::PassManagerBase &PM,
590590
.hoistCommonInsts(true)
591591
.sinkCommonInsts(true)));
592592

593-
if (IsLTO) {
593+
if (IsFullLTO) {
594594
PM.add(createSCCPPass()); // Propagate exposed constants
595595
PM.add(createInstructionCombiningPass()); // Clean up again
596596
PM.add(createBitTrackingDCEPass());
@@ -606,7 +606,7 @@ void PassManagerBuilder::addVectorPasses(legacy::PassManagerBase &PM,
606606
// Enhance/cleanup vector code.
607607
PM.add(createVectorCombinePass());
608608

609-
if (!IsLTO) {
609+
if (!IsFullLTO) {
610610
addExtensionsToPM(EP_Peephole, PM);
611611
PM.add(createInstructionCombiningPass());
612612

@@ -639,7 +639,7 @@ void PassManagerBuilder::addVectorPasses(legacy::PassManagerBase &PM,
639639
// about pointer alignments.
640640
PM.add(createAlignmentFromAssumptionsPass());
641641

642-
if (IsLTO)
642+
if (IsFullLTO)
643643
PM.add(createInstructionCombiningPass());
644644
}
645645

@@ -918,7 +918,7 @@ void PassManagerBuilder::populateModulePassManager(
918918
// llvm.loop.distribute=true or when -enable-loop-distribute is specified.
919919
MPM.add(createLoopDistributePass());
920920

921-
addVectorPasses(MPM, /* IsLTO */ false);
921+
addVectorPasses(MPM, /* IsFullLTO */ false);
922922

923923
// FIXME: We shouldn't bother with this anymore.
924924
MPM.add(createStripDeadPrototypesPass()); // Get rid of dead prototypes
@@ -1133,7 +1133,7 @@ void PassManagerBuilder::addLTOOptimizationPasses(legacy::PassManagerBase &PM) {
11331133
ForgetAllSCEVInLoopUnroll));
11341134
PM.add(createLoopDistributePass());
11351135

1136-
addVectorPasses(PM, /* IsLTO */ true);
1136+
addVectorPasses(PM, /* IsFullLTO */ true);
11371137

11381138
addExtensionsToPM(EP_Peephole, PM);
11391139

0 commit comments

Comments
 (0)