aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/PHIElimination.cpp
diff options
context:
space:
mode:
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());
}