|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Reusable explicit-value IR model, validation, and deterministic dumps. More...
#include <limits>#include <sstream>#include <string>#include <utility>#include <Compiler_HIR_Model.H>#include <ah-arena.H>#include <ah-errors.H>#include <tpl_dynArray.H>Go to the source code of this file.
Classes | |
| struct | Aleph::Compiler_IR_Slot |
| One storage slot used by the IR. More... | |
| struct | Aleph::Compiler_IR_Instruction |
| One instruction producing an optional explicit result value. More... | |
| struct | Aleph::Compiler_IR_Terminator |
| Explicit terminator for one IR basic block. More... | |
| struct | Aleph::Compiler_IR_Block |
| One basic block of IR instructions. More... | |
| struct | Aleph::Compiler_IR_Function |
| Lowered IR for one function or top-level body. More... | |
| struct | Aleph::Compiler_IR_Module |
| Lowered IR module with shared global slots and functions. More... | |
| class | Aleph::Compiler_IR_Context |
| Arena-backed ownership context for IR nodes. More... | |
| struct | Aleph::Compiler_IR_Context::Owned_Object |
| struct | Aleph::Compiler_IR_Validation_Report |
| Structural validation report for one IR module or function. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
| namespace | Aleph::Compiler_IR_Detail |
Typedefs | |
| using | Aleph::Compiler_IR_Value_Id = size_t |
| using | Aleph::Compiler_IR_Local_Slot_Id = size_t |
| using | Aleph::Compiler_IR_Global_Slot_Id = size_t |
| using | Aleph::Compiler_IR_Function_Id = size_t |
| using | Aleph::Compiler_IR_Block_Id = size_t |
Enumerations | |
| enum class | Aleph::Compiler_IR_Slot_Kind { Aleph::Parameter , Aleph::Local , Aleph::Global } |
| Storage-space classification for slots. More... | |
| enum class | Aleph::Compiler_IR_Instruction_Kind { Aleph::Constant , Aleph::Load , Aleph::Store , Aleph::Unary , Aleph::Binary , Aleph::Call , Aleph::Function_Ref } |
| Instruction kinds supported by the MVP IR. More... | |
| enum class | Aleph::Compiler_IR_Terminator_Kind { Aleph::None , Aleph::Jump , Aleph::Branch , Aleph::Return , Aleph::Exit , Aleph::Unreachable } |
| Terminator kinds supported by the MVP IR. More... | |
Reusable explicit-value IR model, validation, and deterministic dumps.
This header defines the stable middle-level IR node model that language frontends, optimizers, interpreters, and source-emitting backends can share without depending on the current reference frontend. It includes:
v0, v1, ...)Lowering from the current MVP HIR lives separately in Compiler_IR_Lowering_MVP.H.
Definition in file Compiler_IR_Model.H.