Skip to content

Commit 9e56b09

Browse files
committed
[NewPM] Remove BranchProbabilityInfo from FunctionToLoopPassAdaptor. NFCI
No loop pass seems to use it after LoopPredication stopped using it in https://reviews.llvm.org/D111668
1 parent 93faaf4 commit 9e56b09

File tree

4 files changed

+8
-22
lines changed

4 files changed

+8
-22
lines changed

llvm/include/llvm/Analysis/LoopAnalysisManager.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ struct LoopStandardAnalysisResults {
6060
TargetLibraryInfo &TLI;
6161
TargetTransformInfo &TTI;
6262
BlockFrequencyInfo *BFI;
63-
BranchProbabilityInfo *BPI;
6463
MemorySSA *MSSA;
6564
};
6665

llvm/include/llvm/Transforms/Scalar/LoopPassManager.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -405,11 +405,9 @@ class FunctionToLoopPassAdaptor
405405
explicit FunctionToLoopPassAdaptor(std::unique_ptr<PassConceptT> Pass,
406406
bool UseMemorySSA = false,
407407
bool UseBlockFrequencyInfo = false,
408-
bool UseBranchProbabilityInfo = false,
409408
bool LoopNestMode = false)
410409
: Pass(std::move(Pass)), UseMemorySSA(UseMemorySSA),
411410
UseBlockFrequencyInfo(UseBlockFrequencyInfo),
412-
UseBranchProbabilityInfo(UseBranchProbabilityInfo),
413411
LoopNestMode(LoopNestMode) {
414412
LoopCanonicalizationFPM.addPass(LoopSimplifyPass());
415413
LoopCanonicalizationFPM.addPass(LCSSAPass());
@@ -432,7 +430,6 @@ class FunctionToLoopPassAdaptor
432430

433431
bool UseMemorySSA = false;
434432
bool UseBlockFrequencyInfo = false;
435-
bool UseBranchProbabilityInfo = false;
436433
const bool LoopNestMode;
437434
};
438435

@@ -446,8 +443,7 @@ class FunctionToLoopPassAdaptor
446443
template <typename LoopPassT>
447444
inline FunctionToLoopPassAdaptor
448445
createFunctionToLoopPassAdaptor(LoopPassT &&Pass, bool UseMemorySSA = false,
449-
bool UseBlockFrequencyInfo = false,
450-
bool UseBranchProbabilityInfo = false) {
446+
bool UseBlockFrequencyInfo = false) {
451447
if constexpr (is_detected<HasRunOnLoopT, LoopPassT>::value) {
452448
using PassModelT =
453449
detail::PassModel<Loop, LoopPassT, LoopAnalysisManager,
@@ -457,7 +453,7 @@ createFunctionToLoopPassAdaptor(LoopPassT &&Pass, bool UseMemorySSA = false,
457453
return FunctionToLoopPassAdaptor(
458454
std::unique_ptr<FunctionToLoopPassAdaptor::PassConceptT>(
459455
new PassModelT(std::forward<LoopPassT>(Pass))),
460-
UseMemorySSA, UseBlockFrequencyInfo, UseBranchProbabilityInfo, false);
456+
UseMemorySSA, UseBlockFrequencyInfo, false);
461457
} else {
462458
LoopPassManager LPM;
463459
LPM.addPass(std::forward<LoopPassT>(Pass));
@@ -469,17 +465,17 @@ createFunctionToLoopPassAdaptor(LoopPassT &&Pass, bool UseMemorySSA = false,
469465
return FunctionToLoopPassAdaptor(
470466
std::unique_ptr<FunctionToLoopPassAdaptor::PassConceptT>(
471467
new PassModelT(std::move(LPM))),
472-
UseMemorySSA, UseBlockFrequencyInfo, UseBranchProbabilityInfo, true);
468+
UseMemorySSA, UseBlockFrequencyInfo, true);
473469
}
474470
}
475471

476472
/// If \p Pass is an instance of \c LoopPassManager, the returned adaptor will
477473
/// be in loop-nest mode if the pass manager contains only loop-nest passes.
478474
template <>
479475
inline FunctionToLoopPassAdaptor
480-
createFunctionToLoopPassAdaptor<LoopPassManager>(
481-
LoopPassManager &&LPM, bool UseMemorySSA, bool UseBlockFrequencyInfo,
482-
bool UseBranchProbabilityInfo) {
476+
createFunctionToLoopPassAdaptor<LoopPassManager>(LoopPassManager &&LPM,
477+
bool UseMemorySSA,
478+
bool UseBlockFrequencyInfo) {
483479
// Check if LPM contains any loop pass and if it does not, returns an adaptor
484480
// in loop-nest mode.
485481
using PassModelT =
@@ -491,8 +487,7 @@ createFunctionToLoopPassAdaptor<LoopPassManager>(
491487
return FunctionToLoopPassAdaptor(
492488
std::unique_ptr<FunctionToLoopPassAdaptor::PassConceptT>(
493489
new PassModelT(std::move(LPM))),
494-
UseMemorySSA, UseBlockFrequencyInfo, UseBranchProbabilityInfo,
495-
LoopNestMode);
490+
UseMemorySSA, UseBlockFrequencyInfo, LoopNestMode);
496491
}
497492

498493
/// Pass for printing a loop's contents as textual IR.

llvm/lib/Passes/PassBuilder.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2098,11 +2098,8 @@ Error PassBuilder::parseFunctionPass(FunctionPassManager &FPM,
20982098
bool UseBFI = llvm::any_of(InnerPipeline, [](auto Pipeline) {
20992099
return Pipeline.Name.contains("simple-loop-unswitch");
21002100
});
2101-
bool UseBPI = llvm::any_of(InnerPipeline, [](auto Pipeline) {
2102-
return Pipeline.Name == "loop-predication";
2103-
});
21042101
FPM.addPass(createFunctionToLoopPassAdaptor(std::move(LPM), UseMemorySSA,
2105-
UseBFI, UseBPI));
2102+
UseBFI));
21062103
return Error::success();
21072104
}
21082105
if (Name == "machine-function") {

llvm/lib/Transforms/Scalar/LoopPassManager.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,6 @@ PreservedAnalyses FunctionToLoopPassAdaptor::run(Function &F,
223223
BlockFrequencyInfo *BFI = UseBlockFrequencyInfo && F.hasProfileData()
224224
? (&AM.getResult<BlockFrequencyAnalysis>(F))
225225
: nullptr;
226-
BranchProbabilityInfo *BPI =
227-
UseBranchProbabilityInfo && F.hasProfileData()
228-
? (&AM.getResult<BranchProbabilityAnalysis>(F))
229-
: nullptr;
230226
LoopStandardAnalysisResults LAR = {AM.getResult<AAManager>(F),
231227
AM.getResult<AssumptionAnalysis>(F),
232228
AM.getResult<DominatorTreeAnalysis>(F),
@@ -235,7 +231,6 @@ PreservedAnalyses FunctionToLoopPassAdaptor::run(Function &F,
235231
AM.getResult<TargetLibraryAnalysis>(F),
236232
AM.getResult<TargetIRAnalysis>(F),
237233
BFI,
238-
BPI,
239234
MSSA};
240235

241236
// Setup the loop analysis manager from its proxy. It is important that

0 commit comments

Comments
 (0)