aboutsummaryrefslogtreecommitdiff
path: root/backend/include/rcc/CodeGen/MachineFunction.h
Commit message (Collapse)AuthorAgeFilesLines
* [CodeGen] Track debug instruction identitiesRichard-Qin-X2026-08-011-0/+4
| | | | Add monotonic MIR debug instruction numbers and structured value substitutions. Verify live number uniqueness, meta-instruction exclusion, substitution graph integrity, and target subregister references while preserving debug identities during cloning.
* [CodeGen] Add machine function recordsRichard-Qin-X2026-08-011-0/+10
| | | | Represent callee-saved registers, call-site information, called globals, and prefetch targets in the core MachineIR model. Verify target and instruction references and remap StableIDs during explicit function cloning.
* [CodeGen] Add MIR function and block attributesRichard-Qin-X2026-08-011-0/+10
|
* [CodeGen] Add target state and compilation statusRichard-Qin-X2026-08-011-0/+27
|
* [CodeGen] Add constant and jump table stateRichard-Qin-X2026-08-011-0/+20
| | | | 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.
* [CodeGen] Add MachineFrameInfoRichard-Qin-X2026-08-011-0/+10
| | | | Model stable frame indices, stack object kinds, tombstones, lifetimes, and frozen layouts. Validate owned frame references in the builder and verifier, and remap complete frame state during MachineFunction cloning.
* [CodeGen] Build the core MachineIR object modelRichard-Qin-X2026-08-011-0/+130
Add arena-owned, address-stable MachineFunction, MachineBasicBlock, and MachineInstr nodes with intrusive layout and instruction lists. Model every required MachineOperand category, reciprocal ties, source state, and immutable per-instruction memory references. Implement physical and virtual register def-use chains whose back-links survive operand vector moves, plus vreg properties, tombstones, live-ins, reserved registers, and atomic CFG updates. Exercise ownership, reallocation, unlink/relink, cross-function rejection, and sanitizer paths.