|
Jlm
|
Constructs a lambda node. More...
#include <lambda.hpp>

Public Member Functions | |
| LambdaBuilder (Region ®ion, std::vector< std::shared_ptr< const Type >> argtypes) | |
| Creates builder for a lambda construct. More... | |
| std::vector< Output * > | Arguments () |
| Obtains definition points of parameters to the function. More... | |
| rvsdg::Region * | GetRegion () noexcept |
| Returns region to place nodes in. More... | |
| LambdaNode::ContextVar | AddContextVar (jlm::rvsdg::Output &origin) |
| Adds a context/free variable to the lambda node. More... | |
| Output & | Finalize (const std::vector< jlm::rvsdg::Output * > &results, std::unique_ptr< LambdaOperation > op) |
| Verifies well-formedness of lambda node and completes it. More... | |
Private Attributes | |
| LambdaNode * | Node_ |
Constructs a lambda node.
Definition at line 321 of file lambda.hpp.
| jlm::rvsdg::LambdaBuilder::LambdaBuilder | ( | Region & | region, |
| std::vector< std::shared_ptr< const Type >> | argtypes | ||
| ) |
Creates builder for a lambda construct.
All methods of this builder can be used to incrementally construct the object until the Finalize method is called.
Definition at line 227 of file lambda.cpp.
| LambdaNode::ContextVar jlm::rvsdg::LambdaBuilder::AddContextVar | ( | jlm::rvsdg::Output & | origin | ) |
Adds a context/free variable to the lambda node.
| origin | The value to be bound into the lambda node. |
this must not have been finalized yet.Definition at line 253 of file lambda.cpp.
| std::vector< Output * > jlm::rvsdg::LambdaBuilder::Arguments | ( | ) |
Obtains definition points of parameters to the function.
this must not have been finalized yet. Definition at line 239 of file lambda.cpp.
| Output & jlm::rvsdg::LambdaBuilder::Finalize | ( | const std::vector< jlm::rvsdg::Output * > & | results, |
| std::unique_ptr< LambdaOperation > | op | ||
| ) |
Verifies well-formedness of lambda node and completes it.
| results | The result values to be returned by the lambda node. |
| op | The operations struct for this lambda, including the formal type signature of the function. |
this must not have been finalized yet.Definition at line 260 of file lambda.cpp.
|
noexcept |
Returns region to place nodes in.
this must not have been finalized yet. Definition at line 246 of file lambda.cpp.
|
private |
Definition at line 393 of file lambda.hpp.