diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 13:45:07 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 13:45:07 +0800 |
| commit | e72ad2cd524ff38f162a23d69da5f78494d337ae (patch) | |
| tree | 2e590806b0f610e4392f25f6e8cdff57d2f5a929 /backend/lib/CodeGen/MachineCombiner.cpp | |
| parent | 3b14bd4d5324b5a280c1ee5567b5526b59e60c5b (diff) | |
| download | rcc-project-e72ad2cd524ff38f162a23d69da5f78494d337ae.tar.gz rcc-project-e72ad2cd524ff38f162a23d69da5f78494d337ae.tar.xz | |
[CodeGen] Centralize machine instruction erasure
Diffstat (limited to 'backend/lib/CodeGen/MachineCombiner.cpp')
| -rw-r--r-- | backend/lib/CodeGen/MachineCombiner.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/backend/lib/CodeGen/MachineCombiner.cpp b/backend/lib/CodeGen/MachineCombiner.cpp index 4c2ff88..4341700 100644 --- a/backend/lib/CodeGen/MachineCombiner.cpp +++ b/backend/lib/CodeGen/MachineCombiner.cpp @@ -175,18 +175,11 @@ namespace { if (!Fused) return std::unexpected(Fused.error()); - MachineBasicBlock *Block = Root.parent(); - if (Block == nullptr) - return makeUnexpected(ErrorCode::InternalError, "machine combiner root is detached"); - auto Removed = Block->removeInstruction(Root); + auto Removed = Root.eraseFromParent(); if (!Removed) return std::unexpected(Removed.error()); if (EraseProducer) { - MachineBasicBlock *ProducerBlock = Producer.parent(); - if (ProducerBlock == nullptr) { - return makeUnexpected(ErrorCode::InternalError, "machine combiner producer is detached"); - } - Removed = ProducerBlock->removeInstruction(Producer); + Removed = Producer.eraseFromParent(); if (!Removed) return std::unexpected(Removed.error()); } |
