From a69d14b8ebc028dddc689658b08d42d3e83f5e38 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Sat, 1 Aug 2026 14:19:20 +0800 Subject: [CodeGen] Add constant and jump table state Add stable, tombstone-preserving MachineConstantPool and MachineJumpTableInfo ownership. Define the versioned TargetConstant contract and integrate all table references with builders, verification, and deterministic deep cloning. --- backend/include/rcc/CodeGen/MachineIRBuilder.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'backend/include/rcc/CodeGen/MachineIRBuilder.h') diff --git a/backend/include/rcc/CodeGen/MachineIRBuilder.h b/backend/include/rcc/CodeGen/MachineIRBuilder.h index 3bd8d67..47fd63c 100644 --- a/backend/include/rcc/CodeGen/MachineIRBuilder.h +++ b/backend/include/rcc/CodeGen/MachineIRBuilder.h @@ -97,6 +97,8 @@ private: [[nodiscard]] Expected ensurePending() const; [[nodiscard]] Expected validateInsertionPoint() const; [[nodiscard]] Expected validateFrameReference(FrameIndex Index) const; + [[nodiscard]] Expected validateConstantPoolReference(ConstantPoolIndex Index) const; + [[nodiscard]] Expected validateJumpTableReference(JumpTableIndex Index) const; [[nodiscard]] Expected validateOperandOwnership(const MachineOperand &Operand) const; [[nodiscard]] std::vector collectOperandTies() const; [[nodiscard]] Expected appendRegister(Register Reg, RegisterOperandFlags Flags, -- cgit v1.2.3