Skip to content

Commit 72596b3

Browse files
authored
[NewPM] Remove BranchProbabilityInfo from FunctionToLoopPassAdaptor. NFCI (#159516)
No loop pass seems to use now it after LoopPredication stopped using it in https://reviews.llvm.org/D111668
1 parent 2ec7959 commit 72596b3

File tree

4 files changed

+8
-24
lines changed

4 files changed

+8
-24
lines changed

llvm/include/llvm/Analysis/LoopAnalysisManager.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ namespace llvm {
3737
class AAResults;
3838
class AssumptionCache;
3939
class BlockFrequencyInfo;
40-
class BranchProbabilityInfo;
4140
class DominatorTree;
4241
class Function;
4342
class Loop;
@@ -60,7 +59,6 @@ struct LoopStandardAnalysisResults {
6059
TargetLibraryInfo &TLI;
6160
TargetTransformInfo &TTI;
6261
BlockFrequencyInfo *BFI;
63-
BranchProbabilityInfo *BPI;
6462
MemorySSA *MSSA;
6563
};
6664

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 & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include "llvm/Transforms/Scalar/LoopPassManager.h"
1010
#include "llvm/Analysis/AssumptionCache.h"
1111
#include "llvm/Analysis/BlockFrequencyInfo.h"
12-
#include "llvm/Analysis/BranchProbabilityInfo.h"
1312
#include "llvm/Analysis/MemorySSA.h"
1413
#include "llvm/Analysis/ScalarEvolution.h"
1514
#include "llvm/Analysis/TargetLibraryInfo.h"
@@ -223,10 +222,6 @@ PreservedAnalyses FunctionToLoopPassAdaptor::run(Function &F,
223222
BlockFrequencyInfo *BFI = UseBlockFrequencyInfo && F.hasProfileData()
224223
? (&AM.getResult<BlockFrequencyAnalysis>(F))
225224
: nullptr;
226-
BranchProbabilityInfo *BPI =
227-
UseBranchProbabilityInfo && F.hasProfileData()
228-
? (&AM.getResult<BranchProbabilityAnalysis>(F))
229-
: nullptr;
230225
LoopStandardAnalysisResults LAR = {AM.getResult<AAManager>(F),
231226
AM.getResult<AssumptionAnalysis>(F),
232227
AM.getResult<DominatorTreeAnalysis>(F),
@@ -235,7 +230,6 @@ PreservedAnalyses FunctionToLoopPassAdaptor::run(Function &F,
235230
AM.getResult<TargetLibraryAnalysis>(F),
236231
AM.getResult<TargetIRAnalysis>(F),
237232
BFI,
238-
BPI,
239233
MSSA};
240234

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

0 commit comments

Comments
 (0)