From 837dc542b1519df343e5a8f7b2718483530a4193 Mon Sep 17 00:00:00 2001 From: paperchalice Date: Tue, 11 Jun 2024 21:27:14 +0800 Subject: [CodeGen][NewPM] Split `MachineDominatorTree` into a concrete analysis result (#94571) Prepare for new pass manager version of `MachineDominatorTreeAnalysis`. We may need a machine dominator tree version of `DomTreeUpdater` to handle `SplitCriticalEdge` in some CodeGen passes. --- llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp') diff --git a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp index 39b44b917d9e..721b75900c8e 100644 --- a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp +++ b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp @@ -64,7 +64,8 @@ LazyMachineBlockFrequencyInfoPass::calculateIfNotAvailable() const { auto &MBPI = getAnalysis(); auto *MLI = getAnalysisIfAvailable(); - auto *MDT = getAnalysisIfAvailable(); + auto *MDTWrapper = getAnalysisIfAvailable(); + auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; LLVM_DEBUG(dbgs() << "Building MachineBlockFrequencyInfo on the fly\n"); LLVM_DEBUG(if (MLI) dbgs() << "LoopInfo is available\n"); -- cgit v1.2.3 From 73e46c2bb4949be986d9eac98d95a206d7f003e2 Mon Sep 17 00:00:00 2001 From: paperchalice Date: Thu, 27 Jun 2024 14:04:51 +0800 Subject: [CodeGen][NewPM] Port machine-branch-prob to new pass manager (#96389) Like IR version `print`, there is also a `print`. --- llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp') diff --git a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp index 721b75900c8e..83b16fc883e8 100644 --- a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp +++ b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp @@ -23,7 +23,7 @@ using namespace llvm; INITIALIZE_PASS_BEGIN(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE, "Lazy Machine Block Frequency Analysis", true, true) -INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo) +INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass) INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo) INITIALIZE_PASS_END(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE, "Lazy Machine Block Frequency Analysis", true, true) @@ -43,7 +43,7 @@ void LazyMachineBlockFrequencyInfoPass::print(raw_ostream &OS, void LazyMachineBlockFrequencyInfoPass::getAnalysisUsage( AnalysisUsage &AU) const { - AU.addRequired(); + AU.addRequired(); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -62,7 +62,7 @@ LazyMachineBlockFrequencyInfoPass::calculateIfNotAvailable() const { return *MBFI; } - auto &MBPI = getAnalysis(); + auto &MBPI = getAnalysis().getMBPI(); auto *MLI = getAnalysisIfAvailable(); auto *MDTWrapper = getAnalysisIfAvailable(); auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; -- cgit v1.2.3 From ab58b6d58edf6a7c8881044fc716ca435d7a0156 Mon Sep 17 00:00:00 2001 From: paperchalice Date: Thu, 27 Jun 2024 15:00:17 +0800 Subject: Revert "[CodeGen][NewPM] Port machine-branch-prob to new pass manager" (#96858) Reverts llvm/llvm-project#96389 Some ppc bots failed. --- llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp') diff --git a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp index 83b16fc883e8..721b75900c8e 100644 --- a/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp +++ b/llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp @@ -23,7 +23,7 @@ using namespace llvm; INITIALIZE_PASS_BEGIN(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE, "Lazy Machine Block Frequency Analysis", true, true) -INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfoWrapperPass) +INITIALIZE_PASS_DEPENDENCY(MachineBranchProbabilityInfo) INITIALIZE_PASS_DEPENDENCY(MachineLoopInfo) INITIALIZE_PASS_END(LazyMachineBlockFrequencyInfoPass, DEBUG_TYPE, "Lazy Machine Block Frequency Analysis", true, true) @@ -43,7 +43,7 @@ void LazyMachineBlockFrequencyInfoPass::print(raw_ostream &OS, void LazyMachineBlockFrequencyInfoPass::getAnalysisUsage( AnalysisUsage &AU) const { - AU.addRequired(); + AU.addRequired(); AU.setPreservesAll(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -62,7 +62,7 @@ LazyMachineBlockFrequencyInfoPass::calculateIfNotAvailable() const { return *MBFI; } - auto &MBPI = getAnalysis().getMBPI(); + auto &MBPI = getAnalysis(); auto *MLI = getAnalysisIfAvailable(); auto *MDTWrapper = getAnalysisIfAvailable(); auto *MDT = MDTWrapper ? &MDTWrapper->getDomTree() : nullptr; -- cgit v1.2.3