|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Lowers typed HIR into explicit-value IR. More...
#include <Compiler_IR_Lowering_MVP.H>
Classes | |
| struct | Module_Builder |
Public Member Functions | |
| Compiler_IR_Lowering (Compiler_IR_Context &ctx, const Compiler_Type_Context *type_ctx=nullptr) noexcept | |
Builds an IR lowerer over ctx. | |
| const Compiler_Type_Context * | type_context () const noexcept |
| Returns the optional type context used by this lowerer. | |
| Compiler_IR_Module * | lower_module (const Compiler_HIR_Module *module) const |
| Lowers one HIR module into explicit-value IR. | |
Private Attributes | |
| Compiler_IR_Context * | ir = nullptr |
| const Compiler_Type_Context * | types = nullptr |
Lowers typed HIR into explicit-value IR.
Definition at line 72 of file Compiler_IR_Lowering_MVP.H.
|
inlineexplicitnoexcept |
Builds an IR lowerer over ctx.
Definition at line 743 of file Compiler_IR_Lowering_MVP.H.
|
inline |
Lowers one HIR module into explicit-value IR.
Definition at line 755 of file Compiler_IR_Lowering_MVP.H.
References ah_runtime_error_unless, Aleph::blossom_maximum_cardinality_matching(), Aleph::Compiler_HIR_Function::body, Aleph::compiler_ir_invalid_id(), Aleph::Compiler_HIR_Module::functions, Aleph::Compiler_IR_Function::id, ir, Aleph::Let, Aleph::Compiler_IR_Context::make(), Aleph::Compiler_IR_Function::source_function, Aleph::Compiler_HIR_Block_Stmt::statements, Aleph::Compiler_HIR_Module::statements, and types.
|
inlinenoexcept |
Returns the optional type context used by this lowerer.
Definition at line 749 of file Compiler_IR_Lowering_MVP.H.
References types.
|
private |
Definition at line 738 of file Compiler_IR_Lowering_MVP.H.
Referenced by lower_module().
|
private |
Definition at line 739 of file Compiler_IR_Lowering_MVP.H.
Referenced by lower_module(), and type_context().