diff options
author | paperchalice <liujunchang97@outlook.com> | 2024-07-09 09:11:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-09 09:11:18 +0800 |
commit | 79d0de2ac37b6b7d66720611935d1dd7fc4fbd43 (patch) | |
tree | 27fc88539708d84f03ca11a890551780e33a5f2c /llvm/lib/CodeGen/PHIElimination.cpp | |
parent | afa6bed8afe9011c07c682a0a24362260d92cfdd (diff) | |
download | llvm-79d0de2ac37b6b7d66720611935d1dd7fc4fbd43.zip llvm-79d0de2ac37b6b7d66720611935d1dd7fc4fbd43.tar.gz llvm-79d0de2ac37b6b7d66720611935d1dd7fc4fbd43.tar.bz2 |
[CodeGen][NewPM] Port `machine-loops` to new pass manager (#97793)
- Add `MachineLoopAnalysis`.
- Add `MachineLoopPrinterPass`.
- Convert to `MachineLoopInfoWrapperPass` in legacy pass manager.
Diffstat (limited to 'llvm/lib/CodeGen/PHIElimination.cpp')
-rw-r--r-- | llvm/lib/CodeGen/PHIElimination.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/PHIElimination.cpp b/llvm/lib/CodeGen/PHIElimination.cpp index 4fde4ec7..e5c4c71 100644 --- a/llvm/lib/CodeGen/PHIElimination.cpp +++ b/llvm/lib/CodeGen/PHIElimination.cpp @@ -141,7 +141,7 @@ void PHIElimination::getAnalysisUsage(AnalysisUsage &AU) const { AU.addPreserved<SlotIndexes>(); AU.addPreserved<LiveIntervals>(); AU.addPreserved<MachineDominatorTreeWrapperPass>(); - AU.addPreserved<MachineLoopInfo>(); + AU.addPreserved<MachineLoopInfoWrapperPass>(); MachineFunctionPass::getAnalysisUsage(AU); } @@ -183,7 +183,9 @@ bool PHIElimination::runOnMachineFunction(MachineFunction &MF) { } } - MachineLoopInfo *MLI = getAnalysisIfAvailable<MachineLoopInfo>(); + MachineLoopInfoWrapperPass *MLIWrapper = + getAnalysisIfAvailable<MachineLoopInfoWrapperPass>(); + MachineLoopInfo *MLI = MLIWrapper ? &MLIWrapper->getLI() : nullptr; for (auto &MBB : MF) Changed |= SplitPHIEdges(MF, MBB, MLI, (LV ? &LiveInSets : nullptr)); } |