Skip to content

Commit 7df0ca2

Browse files
paperchalicearsenm
authored andcommitted
[CodeGen][NewPM] Port machine-branch-prob to new pass manager (#96389)
Like IR version `print<branch-prob>`, there is also a `print<machine-branch-prob>`.
1 parent 6f5b171 commit 7df0ca2

24 files changed

+154
-73
lines changed

llvm/include/llvm/CodeGen/MachineBranchProbabilityInfo.h

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,13 @@
1414
#define LLVM_CODEGEN_MACHINEBRANCHPROBABILITYINFO_H
1515

1616
#include "llvm/CodeGen/MachineBasicBlock.h"
17+
#include "llvm/CodeGen/MachinePassManager.h"
1718
#include "llvm/Pass.h"
1819
#include "llvm/Support/BranchProbability.h"
1920

2021
namespace llvm {
2122

22-
class MachineBranchProbabilityInfo : public ImmutablePass {
23-
virtual void anchor();
24-
23+
class MachineBranchProbabilityInfo {
2524
// Default weight value. Used when we don't have information about the edge.
2625
// TODO: DEFAULT_WEIGHT makes sense during static predication, when none of
2726
// the successors have a weight yet. But it doesn't make sense when providing
@@ -31,13 +30,8 @@ class MachineBranchProbabilityInfo : public ImmutablePass {
3130
static const uint32_t DEFAULT_WEIGHT = 16;
3231

3332
public:
34-
static char ID;
35-
36-
MachineBranchProbabilityInfo();
37-
38-
void getAnalysisUsage(AnalysisUsage &AU) const override {
39-
AU.setPreservesAll();
40-
}
33+
bool invalidate(MachineFunction &, const PreservedAnalyses &PA,
34+
MachineFunctionAnalysisManager::Invalidator &);
4135

4236
// Return edge probability.
4337
BranchProbability getEdgeProbability(const MachineBasicBlock *Src,
@@ -61,6 +55,45 @@ class MachineBranchProbabilityInfo : public ImmutablePass {
6155
const MachineBasicBlock *Dst) const;
6256
};
6357

58+
class MachineBranchProbabilityAnalysis
59+
: public AnalysisInfoMixin<MachineBranchProbabilityAnalysis> {
60+
friend AnalysisInfoMixin<MachineBranchProbabilityAnalysis>;
61+
62+
static AnalysisKey Key;
63+
64+
public:
65+
using Result = MachineBranchProbabilityInfo;
66+
67+
Result run(MachineFunction &, MachineFunctionAnalysisManager &);
68+
};
69+
70+
class MachineBranchProbabilityPrinterPass
71+
: public PassInfoMixin<MachineBranchProbabilityPrinterPass> {
72+
raw_ostream &OS;
73+
74+
public:
75+
MachineBranchProbabilityPrinterPass(raw_ostream &OS) : OS(OS) {}
76+
PreservedAnalyses run(MachineFunction &MF,
77+
MachineFunctionAnalysisManager &MFAM);
78+
};
79+
80+
class MachineBranchProbabilityInfoWrapperPass : public ImmutablePass {
81+
virtual void anchor();
82+
83+
MachineBranchProbabilityInfo MBPI;
84+
85+
public:
86+
static char ID;
87+
88+
MachineBranchProbabilityInfoWrapperPass();
89+
90+
void getAnalysisUsage(AnalysisUsage &AU) const override {
91+
AU.setPreservesAll();
92+
}
93+
94+
MachineBranchProbabilityInfo &getMBPI() { return MBPI; }
95+
const MachineBranchProbabilityInfo &getMBPI() const { return MBPI; }
96+
};
6497
}
6598

6699

llvm/include/llvm/InitializePasses.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ void initializeMIRPrintingPassPass(PassRegistry&);
182182
void initializeMachineBlockFrequencyInfoPass(PassRegistry&);
183183
void initializeMachineBlockPlacementPass(PassRegistry&);
184184
void initializeMachineBlockPlacementStatsPass(PassRegistry&);
185-
void initializeMachineBranchProbabilityInfoPass(PassRegistry&);
185+
void initializeMachineBranchProbabilityInfoWrapperPassPass(PassRegistry &);
186186
void initializeMachineCFGPrinterPass(PassRegistry &);
187187
void initializeMachineCSEPass(PassRegistry&);
188188
void initializeMachineCombinerPass(PassRegistry&);

llvm/include/llvm/Passes/MachinePassRegistry.def

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ LOOP_PASS("loop-reduce", LoopStrengthReducePass())
8989
#ifndef MACHINE_FUNCTION_ANALYSIS
9090
#define MACHINE_FUNCTION_ANALYSIS(NAME, CREATE_PASS)
9191
#endif
92+
MACHINE_FUNCTION_ANALYSIS("machine-branch-prob",
93+
MachineBranchProbabilityAnalysis())
9294
MACHINE_FUNCTION_ANALYSIS("machine-dom-tree", MachineDominatorTreeAnalysis())
9395
MACHINE_FUNCTION_ANALYSIS("machine-post-dom-tree",
9496
MachinePostDominatorTreeAnalysis())
@@ -130,6 +132,8 @@ MACHINE_FUNCTION_PASS("finalize-isel", FinalizeISelPass())
130132
MACHINE_FUNCTION_PASS("localstackalloc", LocalStackSlotAllocationPass())
131133
MACHINE_FUNCTION_PASS("no-op-machine-function", NoOpMachineFunctionPass())
132134
MACHINE_FUNCTION_PASS("print", PrintMIRPass())
135+
MACHINE_FUNCTION_PASS("print<machine-branch-prob>",
136+
MachineBranchProbabilityPrinterPass(dbgs()))
133137
MACHINE_FUNCTION_PASS("print<machine-dom-tree>",
134138
MachineDominatorTreePrinterPass(dbgs()))
135139
MACHINE_FUNCTION_PASS("print<machine-post-dom-tree>",

llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ void AsmPrinter::getAnalysisUsage(AnalysisUsage &AU) const {
444444
AU.addRequired<MachineOptimizationRemarkEmitterPass>();
445445
AU.addRequired<GCModuleInfo>();
446446
AU.addRequired<LazyMachineBlockFrequencyInfoPass>();
447-
AU.addRequired<MachineBranchProbabilityInfo>();
447+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
448448
}
449449

450450
bool AsmPrinter::doInitialization(Module &M) {
@@ -1478,8 +1478,9 @@ void AsmPrinter::emitBBAddrMapSection(const MachineFunction &MF) {
14781478
? &getAnalysis<LazyMachineBlockFrequencyInfoPass>().getBFI()
14791479
: nullptr;
14801480
const MachineBranchProbabilityInfo *MBPI =
1481-
Features.BrProb ? &getAnalysis<MachineBranchProbabilityInfo>()
1482-
: nullptr;
1481+
Features.BrProb
1482+
? &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI()
1483+
: nullptr;
14831484

14841485
if (Features.BBFreq || Features.BrProb) {
14851486
for (const MachineBasicBlock &MBB : MF) {

llvm/lib/CodeGen/BranchFolding.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ namespace {
9999

100100
void getAnalysisUsage(AnalysisUsage &AU) const override {
101101
AU.addRequired<MachineBlockFrequencyInfo>();
102-
AU.addRequired<MachineBranchProbabilityInfo>();
102+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
103103
AU.addRequired<ProfileSummaryInfoWrapperPass>();
104104
AU.addRequired<TargetPassConfig>();
105105
MachineFunctionPass::getAnalysisUsage(AU);
@@ -131,9 +131,10 @@ bool BranchFolderPass::runOnMachineFunction(MachineFunction &MF) {
131131
PassConfig->getEnableTailMerge();
132132
MBFIWrapper MBBFreqInfo(
133133
getAnalysis<MachineBlockFrequencyInfo>());
134-
BranchFolder Folder(EnableTailMerge, /*CommonHoist=*/true, MBBFreqInfo,
135-
getAnalysis<MachineBranchProbabilityInfo>(),
136-
&getAnalysis<ProfileSummaryInfoWrapperPass>().getPSI());
134+
BranchFolder Folder(
135+
EnableTailMerge, /*CommonHoist=*/true, MBBFreqInfo,
136+
getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI(),
137+
&getAnalysis<ProfileSummaryInfoWrapperPass>().getPSI());
137138
return Folder.OptimizeFunction(MF, MF.getSubtarget().getInstrInfo(),
138139
MF.getSubtarget().getRegisterInfo());
139140
}

llvm/lib/CodeGen/EarlyIfConversion.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -787,14 +787,14 @@ char &llvm::EarlyIfConverterID = EarlyIfConverter::ID;
787787

788788
INITIALIZE_PASS_BEGIN(EarlyIfConverter, DEBUG_TYPE,
789789
"Early If Converter", false, false)
790-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
790+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
791791
INITIALIZE_PASS_DEPENDENCY(MachineDominatorTreeWrapperPass)
792792
INITIALIZE_PASS_DEPENDENCY(MachineTraceMetrics)
793793
INITIALIZE_PASS_END(EarlyIfConverter, DEBUG_TYPE,
794794
"Early If Converter", false, false)
795795

796796
void EarlyIfConverter::getAnalysisUsage(AnalysisUsage &AU) const {
797-
AU.addRequired<MachineBranchProbabilityInfo>();
797+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
798798
AU.addRequired<MachineDominatorTreeWrapperPass>();
799799
AU.addPreserved<MachineDominatorTreeWrapperPass>();
800800
AU.addRequired<MachineLoopInfo>();
@@ -1142,12 +1142,12 @@ char &llvm::EarlyIfPredicatorID = EarlyIfPredicator::ID;
11421142
INITIALIZE_PASS_BEGIN(EarlyIfPredicator, DEBUG_TYPE, "Early If Predicator",
11431143
false, false)
11441144
INITIALIZE_PASS_DEPENDENCY(MachineDominatorTreeWrapperPass)
1145-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
1145+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
11461146
INITIALIZE_PASS_END(EarlyIfPredicator, DEBUG_TYPE, "Early If Predicator", false,
11471147
false)
11481148

11491149
void EarlyIfPredicator::getAnalysisUsage(AnalysisUsage &AU) const {
1150-
AU.addRequired<MachineBranchProbabilityInfo>();
1150+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
11511151
AU.addRequired<MachineDominatorTreeWrapperPass>();
11521152
AU.addPreserved<MachineDominatorTreeWrapperPass>();
11531153
AU.addRequired<MachineLoopInfo>();
@@ -1222,7 +1222,7 @@ bool EarlyIfPredicator::runOnMachineFunction(MachineFunction &MF) {
12221222
SchedModel.init(&STI);
12231223
DomTree = &getAnalysis<MachineDominatorTreeWrapperPass>().getDomTree();
12241224
Loops = &getAnalysis<MachineLoopInfo>();
1225-
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
1225+
MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
12261226

12271227
bool Changed = false;
12281228
IfConv.runOnMachineFunction(MF);

llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ INITIALIZE_PASS_BEGIN(RegBankSelect, DEBUG_TYPE,
6363
"Assign register bank of generic virtual registers",
6464
false, false);
6565
INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfo)
66-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
66+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
6767
INITIALIZE_PASS_DEPENDENCY(TargetPassConfig)
6868
INITIALIZE_PASS_END(RegBankSelect, DEBUG_TYPE,
6969
"Assign register bank of generic virtual registers", false,
@@ -86,7 +86,7 @@ void RegBankSelect::init(MachineFunction &MF) {
8686
TPC = &getAnalysis<TargetPassConfig>();
8787
if (OptMode != Mode::Fast) {
8888
MBFI = &getAnalysis<MachineBlockFrequencyInfo>();
89-
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
89+
MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
9090
} else {
9191
MBFI = nullptr;
9292
MBPI = nullptr;
@@ -100,7 +100,7 @@ void RegBankSelect::getAnalysisUsage(AnalysisUsage &AU) const {
100100
// We could preserve the information from these two analysis but
101101
// the APIs do not allow to do so yet.
102102
AU.addRequired<MachineBlockFrequencyInfo>();
103-
AU.addRequired<MachineBranchProbabilityInfo>();
103+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
104104
}
105105
AU.addRequired<TargetPassConfig>();
106106
getSelectionDAGFallbackAnalysisUsage(AU);
@@ -955,8 +955,10 @@ uint64_t RegBankSelect::EdgeInsertPoint::frequency(const Pass &P) const {
955955
if (WasMaterialized)
956956
return MBFI->getBlockFreq(DstOrSplit).getFrequency();
957957

958+
auto *MBPIWrapper =
959+
P.getAnalysisIfAvailable<MachineBranchProbabilityInfoWrapperPass>();
958960
const MachineBranchProbabilityInfo *MBPI =
959-
P.getAnalysisIfAvailable<MachineBranchProbabilityInfo>();
961+
MBPIWrapper ? &MBPIWrapper->getMBPI() : nullptr;
960962
if (!MBPI)
961963
return 1;
962964
// The basic block will be on the edge.

llvm/lib/CodeGen/IfConversion.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ namespace {
210210

211211
void getAnalysisUsage(AnalysisUsage &AU) const override {
212212
AU.addRequired<MachineBlockFrequencyInfo>();
213-
AU.addRequired<MachineBranchProbabilityInfo>();
213+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
214214
AU.addRequired<ProfileSummaryInfoWrapperPass>();
215215
MachineFunctionPass::getAnalysisUsage(AU);
216216
}
@@ -432,7 +432,7 @@ char IfConverter::ID = 0;
432432
char &llvm::IfConverterID = IfConverter::ID;
433433

434434
INITIALIZE_PASS_BEGIN(IfConverter, DEBUG_TYPE, "If Converter", false, false)
435-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
435+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
436436
INITIALIZE_PASS_DEPENDENCY(ProfileSummaryInfoWrapperPass)
437437
INITIALIZE_PASS_END(IfConverter, DEBUG_TYPE, "If Converter", false, false)
438438

@@ -445,7 +445,7 @@ bool IfConverter::runOnMachineFunction(MachineFunction &MF) {
445445
TII = ST.getInstrInfo();
446446
TRI = ST.getRegisterInfo();
447447
MBFIWrapper MBFI(getAnalysis<MachineBlockFrequencyInfo>());
448-
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
448+
MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
449449
ProfileSummaryInfo *PSI =
450450
&getAnalysis<ProfileSummaryInfoWrapperPass>().getPSI();
451451
MRI = &MF.getRegInfo();

llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ using namespace llvm;
2323

2424
INITIALIZE_PASS_BEGIN(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE,
2525
"Lazy Machine Block Frequency Analysis", true, true)
26-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
26+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
2727
INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo)
2828
INITIALIZE_PASS_END(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE,
2929
"Lazy Machine Block Frequency Analysis", true, true)
@@ -43,7 +43,7 @@ void LazyMachineBlockFrequencyInfoPass::print(raw_ostream &OS,
4343

4444
void LazyMachineBlockFrequencyInfoPass::getAnalysisUsage(
4545
AnalysisUsage &AU) const {
46-
AU.addRequired<MachineBranchProbabilityInfo>();
46+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
4747
AU.setPreservesAll();
4848
MachineFunctionPass::getAnalysisUsage(AU);
4949
}
@@ -62,7 +62,7 @@ LazyMachineBlockFrequencyInfoPass::calculateIfNotAvailable() const {
6262
return *MBFI;
6363
}
6464

65-
auto &MBPI = getAnalysis<MachineBranchProbabilityInfo>();
65+
auto &MBPI = getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
6666
auto *MLI = getAnalysisIfAvailable<MachineLoopInfo>();
6767
auto *MDTWrapper = getAnalysisIfAvailable<MachineDominatorTreeWrapperPass>();
6868
auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr;

llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ struct DOTGraphTraits<MachineBlockFrequencyInfo *>
163163

164164
INITIALIZE_PASS_BEGIN(MachineBlockFrequencyInfo, DEBUG_TYPE,
165165
"Machine Block Frequency Analysis", true, true)
166-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
166+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
167167
INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo)
168168
INITIALIZE_PASS_END(MachineBlockFrequencyInfo, DEBUG_TYPE,
169169
"Machine Block Frequency Analysis", true, true)
@@ -185,7 +185,7 @@ MachineBlockFrequencyInfo::MachineBlockFrequencyInfo(
185185
MachineBlockFrequencyInfo::~MachineBlockFrequencyInfo() = default;
186186

187187
void MachineBlockFrequencyInfo::getAnalysisUsage(AnalysisUsage &AU) const {
188-
AU.addRequired<MachineBranchProbabilityInfo>();
188+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
189189
AU.addRequired<MachineLoopInfo>();
190190
AU.setPreservesAll();
191191
MachineFunctionPass::getAnalysisUsage(AU);
@@ -209,7 +209,7 @@ void MachineBlockFrequencyInfo::calculate(
209209

210210
bool MachineBlockFrequencyInfo::runOnMachineFunction(MachineFunction &F) {
211211
MachineBranchProbabilityInfo &MBPI =
212-
getAnalysis<MachineBranchProbabilityInfo>();
212+
getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
213213
MachineLoopInfo &MLI = getAnalysis<MachineLoopInfo>();
214214
calculate(F, MBPI, MLI);
215215
return false;

llvm/lib/CodeGen/MachineBlockPlacement.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ class MachineBlockPlacement : public MachineFunctionPass {
608608
}
609609

610610
void getAnalysisUsage(AnalysisUsage &AU) const override {
611-
AU.addRequired<MachineBranchProbabilityInfo>();
611+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
612612
AU.addRequired<MachineBlockFrequencyInfo>();
613613
if (TailDupPlacement)
614614
AU.addRequired<MachinePostDominatorTreeWrapperPass>();
@@ -627,7 +627,7 @@ char &llvm::MachineBlockPlacementID = MachineBlockPlacement::ID;
627627

628628
INITIALIZE_PASS_BEGIN(MachineBlockPlacement, DEBUG_TYPE,
629629
"Branch Probability Basic Block Placement", false, false)
630-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
630+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
631631
INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfo)
632632
INITIALIZE_PASS_DEPENDENCY(MachinePostDominatorTreeWrapperPass)
633633
INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo)
@@ -3425,7 +3425,7 @@ bool MachineBlockPlacement::runOnMachineFunction(MachineFunction &MF) {
34253425
return false;
34263426

34273427
F = &MF;
3428-
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
3428+
MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
34293429
MBFI = std::make_unique<MBFIWrapper>(
34303430
getAnalysis<MachineBlockFrequencyInfo>());
34313431
MLI = &getAnalysis<MachineLoopInfo>();
@@ -3726,7 +3726,7 @@ class MachineBlockPlacementStats : public MachineFunctionPass {
37263726
bool runOnMachineFunction(MachineFunction &F) override;
37273727

37283728
void getAnalysisUsage(AnalysisUsage &AU) const override {
3729-
AU.addRequired<MachineBranchProbabilityInfo>();
3729+
AU.addRequired<MachineBranchProbabilityInfoWrapperPass>();
37303730
AU.addRequired<MachineBlockFrequencyInfo>();
37313731
AU.setPreservesAll();
37323732
MachineFunctionPass::getAnalysisUsage(AU);
@@ -3741,7 +3741,7 @@ char &llvm::MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID;
37413741

37423742
INITIALIZE_PASS_BEGIN(MachineBlockPlacementStats, "block-placement-stats",
37433743
"Basic Block Placement Stats", false, false)
3744-
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo)
3744+
INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass)
37453745
INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfo)
37463746
INITIALIZE_PASS_END(MachineBlockPlacementStats, "block-placement-stats",
37473747
"Basic Block Placement Stats", false, false)
@@ -3754,7 +3754,7 @@ bool MachineBlockPlacementStats::runOnMachineFunction(MachineFunction &F) {
37543754
if (!isFunctionInPrintList(F.getName()))
37553755
return false;
37563756

3757-
MBPI = &getAnalysis<MachineBranchProbabilityInfo>();
3757+
MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI();
37583758
MBFI = &getAnalysis<MachineBlockFrequencyInfo>();
37593759

37603760
for (MachineBasicBlock &MBB : F) {

0 commit comments

Comments
 (0)