|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Lowers non-SSA IR to SSA form for all reachable blocks. More...
#include <SSA.H>
Public Member Functions | |
| Compiler_SSA_Lowering (Compiler_SSA_Context &context) noexcept | |
Builds an SSA lowerer over ctx. | |
| Compiler_SSA_Module * | lower_module (const Compiler_IR_Module *module) const |
| Lowers one IR module to SSA form. | |
Private Member Functions | |
| Compiler_SSA_Function * | lower_function_internal (const Compiler_IR_Function &source, const bool top_level) const |
Private Attributes | |
| Compiler_SSA_Context * | ctx = nullptr |
|
inlineexplicitnoexcept |
|
inlineprivate |
Definition at line 827 of file SSA.H.
References Aleph::DynArray< T >::access(), Aleph::and, Aleph::DynArray< T >::append(), Aleph::blossom_maximum_cardinality_matching(), Aleph::compiler_ir_invalid_id(), Aleph::Compiler_SSA_Detail::compute_dominance_info(), ctx, Aleph::Compiler_IR_Function::id, Aleph::Compiler_SSA_Block::id, Aleph::Compiler_SSA_Function::id, Aleph::Compiler_SSA_Block::instructions, Aleph::Compiler_SSA_Block::label, Aleph::Compiler_IR_Function::local_slots, Aleph::Compiler_SSA_Context::make(), Aleph::Compiler_IR_Function::name, Aleph::Compiler_SSA_Detail::normalize_ir_function(), Aleph::Parameter, Aleph::Compiler_SSA_Block::predecessors, Aleph::size(), Aleph::Compiler_SSA_Phi::slot_id, Aleph::Compiler_SSA_Block::source_block_id, Aleph::Compiler_IR_Function::span, Aleph::Compiler_SSA_Block::span, Aleph::Store, and Aleph::Compiler_IR_Function::type_id.
|
inline |
Lowers one IR module to SSA form.
Definition at line 979 of file SSA.H.
References ah_runtime_error_unless, Aleph::Compiler_IR_Module::functions, Aleph::Compiler_SSA_Module::global_slots, Aleph::Compiler_SSA_Context::make(), and Aleph::Compiler_IR_Module::top_level.
|
private |
Definition at line 824 of file SSA.H.
Referenced by lower_function_internal().