Skip to content

Commit bc24059

Browse files
committed
merge main into amd-staging
reverts: 993d238 [ctx_prof] Remove `Buffer` field in PGOCtxProfWriter 1488fb4 [PAC][AArch64] Lower ptrauth constants in code (llvm#96879) depends on 7cfffe7 Unittests and usability for BitstreamWriter incremental flushing (llvm#92983) whick breaks lots of ocl tests see: https://compiler-ci.amd.com/job/compiler-psdb-amd-staging/2738/ Change-Id: I108ca3b1dd63499946b75a34629755ed2d7eb05b
2 parents 0e8a90f + 1488fb4 commit bc24059

30 files changed

+204
-92
lines changed

flang/lib/Lower/DirectivesCommon.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,6 @@ gatherBoundsOrBoundValues(fir::FirOpBuilder &builder, mlir::Location loc,
718718
template <typename BoundsOp, typename BoundsType>
719719
llvm::SmallVector<mlir::Value>
720720
genBoundsOpsFromBox(fir::FirOpBuilder &builder, mlir::Location loc,
721-
Fortran::lower::AbstractConverter &converter,
722721
fir::ExtendedValue dataExv,
723722
Fortran::lower::AddrAndBoundsInfo &info) {
724723
llvm::SmallVector<mlir::Value> bounds;
@@ -778,7 +777,6 @@ genBoundsOpsFromBox(fir::FirOpBuilder &builder, mlir::Location loc,
778777
template <typename BoundsOp, typename BoundsType>
779778
llvm::SmallVector<mlir::Value>
780779
genBaseBoundsOps(fir::FirOpBuilder &builder, mlir::Location loc,
781-
Fortran::lower::AbstractConverter &converter,
782780
fir::ExtendedValue dataExv, bool isAssumedSize) {
783781
mlir::Type idxTy = builder.getIndexType();
784782
mlir::Type boundTy = builder.getType<BoundsType>();
@@ -1163,7 +1161,7 @@ AddrAndBoundsInfo gatherDataOperandAddrAndBounds(
11631161
info.rawInput = info.addr;
11641162
if (mlir::isa<fir::SequenceType>(fir::unwrapRefType(info.addr.getType())))
11651163
bounds = genBaseBoundsOps<BoundsOp, BoundsType>(builder, operandLocation,
1166-
converter, compExv,
1164+
compExv,
11671165
/*isAssumedSize=*/false);
11681166
asFortran << designator.AsFortran();
11691167

@@ -1189,7 +1187,7 @@ AddrAndBoundsInfo gatherDataOperandAddrAndBounds(
11891187
info.addr = boxAddrOp.getVal();
11901188
info.rawInput = info.addr;
11911189
bounds = genBoundsOpsFromBox<BoundsOp, BoundsType>(
1192-
builder, operandLocation, converter, compExv, info);
1190+
builder, operandLocation, compExv, info);
11931191
}
11941192
} else {
11951193
if (detail::getRef<evaluate::ArrayRef>(designator)) {
@@ -1206,13 +1204,13 @@ AddrAndBoundsInfo gatherDataOperandAddrAndBounds(
12061204
if (mlir::isa<fir::BaseBoxType>(
12071205
fir::unwrapRefType(info.addr.getType()))) {
12081206
bounds = genBoundsOpsFromBox<BoundsOp, BoundsType>(
1209-
builder, operandLocation, converter, dataExv, info);
1207+
builder, operandLocation, dataExv, info);
12101208
}
12111209
bool dataExvIsAssumedSize =
12121210
Fortran::semantics::IsAssumedSizeArray(symRef->get().GetUltimate());
12131211
if (mlir::isa<fir::SequenceType>(fir::unwrapRefType(info.addr.getType())))
12141212
bounds = genBaseBoundsOps<BoundsOp, BoundsType>(
1215-
builder, operandLocation, converter, dataExv, dataExvIsAssumedSize);
1213+
builder, operandLocation, dataExv, dataExvIsAssumedSize);
12161214
asFortran << symRef->get().name().ToString();
12171215
} else { // Unsupported
12181216
llvm::report_fatal_error("Unsupported type of OpenACC operand");

flang/lib/Lower/OpenMP/OpenMP.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1738,15 +1738,14 @@ genTargetOp(lower::AbstractConverter &converter, lower::SymMap &symTable,
17381738
fir::unwrapRefType(info.addr.getType())))
17391739
bounds = lower::genBoundsOpsFromBox<mlir::omp::MapBoundsOp,
17401740
mlir::omp::MapBoundsType>(
1741-
firOpBuilder, converter.getCurrentLocation(), converter, dataExv,
1742-
info);
1741+
firOpBuilder, converter.getCurrentLocation(), dataExv, info);
17431742
if (mlir::isa<fir::SequenceType>(
17441743
fir::unwrapRefType(info.addr.getType()))) {
17451744
bool dataExvIsAssumedSize =
17461745
semantics::IsAssumedSizeArray(sym.GetUltimate());
17471746
bounds = lower::genBaseBoundsOps<mlir::omp::MapBoundsOp,
17481747
mlir::omp::MapBoundsType>(
1749-
firOpBuilder, converter.getCurrentLocation(), converter, dataExv,
1748+
firOpBuilder, converter.getCurrentLocation(), dataExv,
17501749
dataExvIsAssumedSize);
17511750
}
17521751

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
@@ -183,7 +183,7 @@ void initializeMIRPrintingPassPass(PassRegistry&);
183183
void initializeMachineBlockFrequencyInfoPass(PassRegistry&);
184184
void initializeMachineBlockPlacementPass(PassRegistry&);
185185
void initializeMachineBlockPlacementStatsPass(PassRegistry&);
186-
void initializeMachineBranchProbabilityInfoPass(PassRegistry&);
186+
void initializeMachineBranchProbabilityInfoWrapperPassPass(PassRegistry &);
187187
void initializeMachineCFGPrinterPass(PassRegistry &);
188188
void initializeMachineCSEPass(PassRegistry&);
189189
void initializeMachineCombinerPass(PassRegistry&);

llvm/include/llvm/MC/MCStreamer.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,10 @@ class MCStreamer {
255255
/// discussion for future inclusion.
256256
bool AllowAutoPadding = false;
257257

258+
/// This is called by popSection and switchSection, if the current
259+
/// section changes.
260+
virtual void changeSection(MCSection *, uint32_t);
261+
258262
protected:
259263
MCFragment *CurFrag = nullptr;
260264

@@ -410,12 +414,6 @@ class MCStreamer {
410414
return SymbolOrdering.lookup(Sym);
411415
}
412416

413-
/// Update streamer for a new active section.
414-
///
415-
/// This is called by popSection and switchSection, if the current
416-
/// section changes.
417-
virtual void changeSection(MCSection *, uint32_t);
418-
419417
/// Save the current and previous section on the section stack.
420418
void pushSection() {
421419
SectionStack.push_back(

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) {
@@ -1529,8 +1529,9 @@ void AsmPrinter::emitBBAddrMapSection(const MachineFunction &MF) {
15291529
? &getAnalysis<LazyMachineBlockFrequencyInfoPass>().getBFI()
15301530
: nullptr;
15311531
const MachineBranchProbabilityInfo *MBPI =
1532-
Features.BrProb ? &getAnalysis<MachineBranchProbabilityInfo>()
1533-
: nullptr;
1532+
Features.BrProb
1533+
? &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI()
1534+
: nullptr;
15341535

15351536
if (Features.BBFreq || Features.BrProb) {
15361537
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;

0 commit comments

Comments
 (0)