aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/PHIElimination.cpp
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 13:45:07 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 13:45:07 +0800
commite72ad2cd524ff38f162a23d69da5f78494d337ae (patch)
tree2e590806b0f610e4392f25f6e8cdff57d2f5a929 /backend/lib/CodeGen/PHIElimination.cpp
parent3b14bd4d5324b5a280c1ee5567b5526b59e60c5b (diff)
downloadrcc-project-e72ad2cd524ff38f162a23d69da5f78494d337ae.tar.gz
rcc-project-e72ad2cd524ff38f162a23d69da5f78494d337ae.tar.xz
[CodeGen] Centralize machine instruction erasure
Diffstat (limited to 'backend/lib/CodeGen/PHIElimination.cpp')
-rw-r--r--backend/lib/CodeGen/PHIElimination.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/backend/lib/CodeGen/PHIElimination.cpp b/backend/lib/CodeGen/PHIElimination.cpp
index 677a04c..8ad785e 100644
--- a/backend/lib/CodeGen/PHIElimination.cpp
+++ b/backend/lib/CodeGen/PHIElimination.cpp
@@ -479,10 +479,9 @@ Expected<MachinePassResult> PHIEliminationPass::run(MachineFunction &Function,
return runImplementation(Function, Target, Analyses);
}
-Expected<MachinePassResult> PHIEliminationPass::runImplementation(MachineFunction &Function,
- const TargetDescription &Target,
- MachineFunctionAnalysisManager
- &Analyses) {
+Expected<MachinePassResult>
+PHIEliminationPass::runImplementation(MachineFunction &Function, const TargetDescription &Target,
+ MachineFunctionAnalysisManager &Analyses) {
MachinePassResult Result;
std::unordered_map<EdgeKey, MachineBasicBlock *, EdgeKeyHash> SplitEdges;
const std::vector<MachineBasicBlock *> Blocks(Function.allBlocks().begin(),
@@ -552,7 +551,7 @@ Expected<MachinePassResult> PHIEliminationPass::runImplementation(MachineFunctio
}
for (PhiPlan &Plan : *Plans) {
- auto Removed = Block->removeInstruction(*Plan.Instruction);
+ auto Removed = Plan.Instruction->eraseFromParent();
if (!Removed)
return std::unexpected(Removed.error());
}