|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Static single assignment form over Compiler_IR.H.
More...
#include <limits>#include <sstream>#include <string>#include <utility>#include <Compiler_Dataflow.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_SSA_Parameter |
| SSA parameter definition that seeds renaming for one IR parameter slot. More... | |
| struct | Aleph::Compiler_SSA_Phi |
| Phi node merging values for one original IR local slot. More... | |
| struct | Aleph::Compiler_SSA_Instruction |
| One SSA instruction producing an optional explicit result value. More... | |
| struct | Aleph::Compiler_SSA_Terminator |
| Explicit terminator for one SSA basic block. More... | |
| struct | Aleph::Compiler_SSA_Block |
| One SSA basic block containing phis, instructions, and a terminator. More... | |
| struct | Aleph::Compiler_SSA_Dominance_Info |
| Dominance metadata computed for one SSA function. More... | |
| struct | Aleph::Compiler_SSA_Function |
| SSA form for one function or top-level body lowered from IR. More... | |
| struct | Aleph::Compiler_SSA_Module |
| SSA module sharing global slots with the source IR module. More... | |
| class | Aleph::Compiler_SSA_Context |
| Arena-backed ownership context for SSA functions and modules. More... | |
| struct | Aleph::Compiler_SSA_Context::Owned_Object |
| struct | Aleph::Compiler_SSA_Validation_Report |
| Validation report for one SSA function or module. More... | |
| struct | Aleph::Compiler_SSA_Detail::Normalized_IR_Function |
| struct | Aleph::Compiler_SSA_Detail::Phi_Spec |
| struct | Aleph::Compiler_SSA_Detail::Definition_Location |
| class | Aleph::Compiler_SSA_Lowering |
| Lowers non-SSA IR to SSA form for all reachable blocks. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
| namespace | Aleph::Compiler_SSA_Detail |
Typedefs | |
| using | Aleph::Compiler_SSA_Value_Id = size_t |
| using | Aleph::Compiler_SSA_Block_Id = size_t |
Enumerations | |
| enum class | Aleph::Compiler_SSA_Instruction_Kind { Aleph::Constant , Aleph::Load_Global , Aleph::Store_Global , Aleph::Unary , Aleph::Binary , Aleph::Call , Aleph::Function_Ref } |
| Instruction kinds supported by the SSA form. More... | |
Static single assignment form over Compiler_IR.H.
This header introduces the first reusable SSA layer over Aleph-w's explicit non-SSA IR. The current scope is intentionally conservative and targets the existing IR model:
The transformation converts local and parameter slots into SSA values while keeping global memory traffic explicit as loads and stores. This makes the result suitable for later bytecode or backend stages without prematurely committing to a target ISA.
Definition in file SSA.H.