|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
SSA form for one function or top-level body lowered from IR. More...
#include <SSA.H>
Public Member Functions | |
| bool | is_top_level () const noexcept |
| Returns whether this SSA function represents the top-level body. | |
Public Attributes | |
| Compiler_IR_Function_Id | id = compiler_ir_invalid_id() |
| Stable function id within the source module. | |
| bool | top_level = false |
| Whether this function represents the lowered top-level body. | |
| std::string | name |
| Debug/source name. | |
| Source_Span | span |
| Source span of the function/body. | |
| Compiler_Type_Id | type_id = 0 |
| Full function type, when known. | |
| const Compiler_IR_Function * | source_function = nullptr |
| Original non-SSA IR function. | |
| DynArray< Compiler_IR_Slot > | local_slots |
| Original local/parameter slots for debug and phi ownership. | |
| DynArray< Compiler_SSA_Parameter > | parameters |
| Entry parameter SSA definitions. | |
| DynArray< Compiler_SSA_Block > | blocks |
| Reachable SSA blocks in deterministic order. | |
| Compiler_SSA_Dominance_Info | dominance |
Dominance metadata over blocks. | |
| Compiler_SSA_Block_Id | entry_block = compiler_ssa_invalid_id() |
| Canonical entry block. | |
| Compiler_SSA_Block_Id | exit_block = compiler_ssa_invalid_id() |
| Canonical exit block. | |
| Compiler_SSA_Value_Id | next_value_id = 0 |
| Next SSA value id to allocate. | |
|
inlinenoexcept |
| DynArray<Compiler_SSA_Block> Aleph::Compiler_SSA_Function::blocks |
Reachable SSA blocks in deterministic order.
Definition at line 200 of file SSA.H.
Referenced by Aleph::Compiler_SSA_Detail::block(), Aleph::Compiler_SSA_Detail::block(), Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| Compiler_SSA_Dominance_Info Aleph::Compiler_SSA_Function::dominance |
Dominance metadata over blocks.
Definition at line 201 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| Compiler_SSA_Block_Id Aleph::Compiler_SSA_Function::entry_block = compiler_ssa_invalid_id() |
Canonical entry block.
Definition at line 202 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| Compiler_SSA_Block_Id Aleph::Compiler_SSA_Function::exit_block = compiler_ssa_invalid_id() |
Canonical exit block.
Definition at line 203 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| Compiler_IR_Function_Id Aleph::Compiler_SSA_Function::id = compiler_ir_invalid_id() |
Stable function id within the source module.
Definition at line 192 of file SSA.H.
Referenced by Aleph::Compiler_SSA_Lowering::lower_function_internal().
| DynArray<Compiler_IR_Slot> Aleph::Compiler_SSA_Function::local_slots |
Original local/parameter slots for debug and phi ownership.
Definition at line 198 of file SSA.H.
Referenced by Aleph::validate_ssa_function().
| std::string Aleph::Compiler_SSA_Function::name |
Debug/source name.
Definition at line 194 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| Compiler_SSA_Value_Id Aleph::Compiler_SSA_Function::next_value_id = 0 |
Next SSA value id to allocate.
Definition at line 204 of file SSA.H.
Referenced by Aleph::validate_ssa_function().
| DynArray<Compiler_SSA_Parameter> Aleph::Compiler_SSA_Function::parameters |
Entry parameter SSA definitions.
Definition at line 199 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().
| const Compiler_IR_Function* Aleph::Compiler_SSA_Function::source_function = nullptr |
| Source_Span Aleph::Compiler_SSA_Function::span |
Whether this function represents the lowered top-level body.
Definition at line 193 of file SSA.H.
Referenced by is_top_level().
| Compiler_Type_Id Aleph::Compiler_SSA_Function::type_id = 0 |
Full function type, when known.
Definition at line 196 of file SSA.H.
Referenced by Aleph::compiler_dump_ssa_function().