From e72ad2cd524ff38f162a23d69da5f78494d337ae Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Fri, 28 Aug 2026 13:45:07 +0800 Subject: [CodeGen] Centralize machine instruction erasure --- backend/lib/CodeGen/MachineInstr.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'backend/lib/CodeGen/MachineInstr.cpp') diff --git a/backend/lib/CodeGen/MachineInstr.cpp b/backend/lib/CodeGen/MachineInstr.cpp index 55b4ce9..3b200c5 100644 --- a/backend/lib/CodeGen/MachineInstr.cpp +++ b/backend/lib/CodeGen/MachineInstr.cpp @@ -43,6 +43,12 @@ Expected MachineInstr::setOpcode(Opcode NewOpcode) { return {}; } +Expected MachineInstr::eraseFromParent() { + if (ParentBlock == nullptr) + return makeUnexpected(ErrorCode::InternalError, "cannot erase a detached machine instruction"); + return ParentBlock->removeInstruction(*this); +} + Expected MachineInstr::setDebugInstrNumber(std::uint64_t Number) { if (Number == 0 || Number > std::numeric_limits::max()) { return makeUnexpected(ErrorCode::InvalidArgument, -- cgit v1.2.3