Expand description
AIR (Analysis Intermediate Representation) — SAF’s canonical, frontend-agnostic IR.
All analysis passes operate on AIR, never on frontend-specific representations. This ensures that adding a new frontend does not require changes to analysis algorithms (NFR-EXT-001, NFR-EXT-002).
See FR-AIR-001 through FR-AIR-007 for full requirements.
Structs§
- AirBlock
- A basic block — a sequence of instructions with single entry/exit.
- AirBundle
- The bundle produced by a frontend’s
ingest()call. - AirFunction
- An AIR function.
- AirGlobal
- A global variable or constant.
- AirModule
- An AIR module — the top-level container for a compilation unit.
- AirParam
- A function parameter.
- Field
Path - Path through nested structures for GEP operations.
- Instruction
- An AIR instruction.
- Struct
Field - A single field in a struct layout.
- Type
Hierarchy Entry - Type hierarchy entry for a class/struct with virtual methods.
- Virtual
Method Slot - A virtual method slot in a class’s vtable.
Enums§
- AirType
- Analysis-oriented type — describes memory layout, not source semantics.
- Binary
Op - Kind of binary operation.
- Cast
Kind - Kind of cast operation.
- Constant
- Constant values in AIR.
- Field
Step - A single step in a field path.
- Heap
Alloc Kind - Kind of heap allocation operation.
- Operation
- AIR operation kind.
- Value
- A value in AIR — either an instruction result, parameter, or constant.
Functions§
- default_
pointer_ 🔒width - Default pointer width (64-bit / 8 bytes).