diff options
author | paperchalice <liujunchang97@outlook.com> | 2024-07-12 15:45:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-12 15:45:01 +0800 |
commit | 099899961c1e89a1789f534579d35a74a2ef1dda (patch) | |
tree | 66911a69efb971bb09b86d6a3d9499aba774598c /llvm/lib/CodeGen/MachineBlockPlacement.cpp | |
parent | 7a7d370742dff82caa6a713bc2b1e2c0c51a9f30 (diff) | |
download | llvm-099899961c1e89a1789f534579d35a74a2ef1dda.zip llvm-099899961c1e89a1789f534579d35a74a2ef1dda.tar.gz llvm-099899961c1e89a1789f534579d35a74a2ef1dda.tar.bz2 |
[CodeGen][NewPM] Port `machine-block-freq` to new pass manager (#98317)
- Add `MachineBlockFrequencyAnalysis`.
- Add `MachineBlockFrequencyPrinterPass`.
- Use `MachineBlockFrequencyInfoWrapperPass` in legacy pass manager.
- `LazyMachineBlockFrequencyInfo::print` is empty, drop it due to new
pass manager migration.
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineBlockPlacement.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp index 14e0126..4c864ca 100644 --- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp +++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp @@ -609,7 +609,7 @@ public: void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<MachineBranchProbabilityInfoWrapperPass>(); - AU.addRequired<MachineBlockFrequencyInfo>(); + AU.addRequired<MachineBlockFrequencyInfoWrapperPass>(); if (TailDupPlacement) AU.addRequired<MachinePostDominatorTreeWrapperPass>(); AU.addRequired<MachineLoopInfoWrapperPass>(); @@ -628,7 +628,7 @@ char &llvm::MachineBlockPlacementID = MachineBlockPlacement::ID; INITIALIZE_PASS_BEGIN(MachineBlockPlacement, DEBUG_TYPE, "Branch Probability Basic Block Placement", false, false) INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass) -INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfo) +INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfoWrapperPass) INITIALIZE_PASS_DEPENDENCY(MachinePostDominatorTreeWrapperPass) INITIALIZE_PASS_DEPENDENCY(MachineLoopInfoWrapperPass) INITIALIZE_PASS_DEPENDENCY(ProfileSummaryInfoWrapperPass) @@ -3427,7 +3427,7 @@ bool MachineBlockPlacement::runOnMachineFunction(MachineFunction &MF) { F = &MF; MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI(); MBFI = std::make_unique<MBFIWrapper>( - getAnalysis<MachineBlockFrequencyInfo>()); + getAnalysis<MachineBlockFrequencyInfoWrapperPass>().getMBFI()); MLI = &getAnalysis<MachineLoopInfoWrapperPass>().getLI(); TII = MF.getSubtarget().getInstrInfo(); TLI = MF.getSubtarget().getTargetLowering(); @@ -3727,7 +3727,7 @@ public: void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired<MachineBranchProbabilityInfoWrapperPass>(); - AU.addRequired<MachineBlockFrequencyInfo>(); + AU.addRequired<MachineBlockFrequencyInfoWrapperPass>(); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -3742,7 +3742,7 @@ char &llvm::MachineBlockPlacementStatsID = MachineBlockPlacementStats::ID; INITIALIZE_PASS_BEGIN(MachineBlockPlacementStats, "block-placement-stats", "Basic Block Placement Stats", false, false) INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass) -INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfo) +INITIALIZE_PASS_DEPENDENCY(MachineBlockFrequencyInfoWrapperPass) INITIALIZE_PASS_END(MachineBlockPlacementStats, "block-placement-stats", "Basic Block Placement Stats", false, false) @@ -3755,7 +3755,7 @@ bool MachineBlockPlacementStats::runOnMachineFunction(MachineFunction &F) { return false; MBPI = &getAnalysis<MachineBranchProbabilityInfoWrapperPass>().getMBPI(); - MBFI = &getAnalysis<MachineBlockFrequencyInfo>(); + MBFI = &getAnalysis<MachineBlockFrequencyInfoWrapperPass>().getMBFI(); for (MachineBasicBlock &MBB : F) { BlockFrequency BlockFreq = MBFI->getBlockFreq(&MBB); |