aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/CodeGen/MachineFunction.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [CodeGen] Implement machine optimization and schedulingRichard-Qin-X2026-08-091-0/+60
|
* [CodeGen] Track debug instruction identitiesRichard-Qin-X2026-08-011-0/+14
| | | | 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 target state and compilation statusRichard-Qin-X2026-08-011-0/+11
|
* [CodeGen] Add constant and jump table stateRichard-Qin-X2026-08-011-1/+2
| | | | 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.
* [CMake] Match LLVM EH and RTTI defaultsRichard-Qin-X2026-08-011-10/+7
| | | | Disable C++ exceptions and RTTI by default while retaining explicit, validated opt-in switches. Replace the arena's exception syntax with an RAII construction guard so both configurations share one implementation.
* [CodeGen] Build the core MachineIR object modelRichard-Qin-X2026-08-011-0/+205
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.