diff options
| author | paperchalice <liujunchang97@outlook.com> | 2024-07-10 19:34:48 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-10 19:34:48 +0800 |
| commit | abde52aa667118d18e9551ab87a15b95c267b3b6 (patch) | |
| tree | 1bcef533428ab18c5add00ba7ed5c0d4e82d2e95 /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
| parent | 3e06392c7db0eacfca94a176d430d9988b3ffbd6 (diff) | |
[CodeGen][NewPM] Port `LiveIntervals` to new pass manager (#98118)
- Add `LiveIntervalsAnalysis`.
- Add `LiveIntervalsPrinterPass`.
- Use `LiveIntervalsWrapperPass` in legacy pass manager.
- Use `std::unique_ptr` instead of raw pointer for `LICalc`, so
destructor and default move constructor can handle it correctly.
This would be the last analysis required by `PHIElimination`.
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/MachineBasicBlock.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp index 292bfa6c85ed..5fe7a9d35dc9 100644 --- a/llvm/lib/CodeGen/MachineBasicBlock.cpp +++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp @@ -1161,7 +1161,8 @@ MachineBasicBlock *MachineBasicBlock::SplitCriticalEdge( << " -- " << printMBBReference(*NMBB) << " -- " << printMBBReference(*Succ) << '\n'); - LiveIntervals *LIS = P.getAnalysisIfAvailable<LiveIntervals>(); + auto *LISWrapper = P.getAnalysisIfAvailable<LiveIntervalsWrapperPass>(); + LiveIntervals *LIS = LISWrapper ? &LISWrapper->getLIS() : nullptr; auto *SIWrapper = P.getAnalysisIfAvailable<SlotIndexesWrapperPass>(); SlotIndexes *Indexes = SIWrapper ? &SIWrapper->getSI() : nullptr; if (LIS) |
