|
Jlm
|
Interpret pointer as callable function. More...
#include <ConversionOperations.hpp>


Public Member Functions | |
| ~PointerToFunctionOperation () noexcept override | |
| PointerToFunctionOperation (std::shared_ptr< const rvsdg::FunctionType > fn) | |
| bool | operator== (const Operation &other) const noexcept override |
| std::string | debug_string () const override |
| std::unique_ptr< Operation > | copy () const override |
| const std::shared_ptr< const rvsdg::FunctionType > & | FunctionType () const noexcept |
Public Member Functions inherited from jlm::rvsdg::UnaryOperation | |
| ~UnaryOperation () noexcept override | |
| UnaryOperation (std::shared_ptr< const Type > operand, std::shared_ptr< const Type > result) | |
Public Member Functions inherited from jlm::rvsdg::SimpleOperation | |
| ~SimpleOperation () noexcept override | |
| SimpleOperation (std::vector< std::shared_ptr< const jlm::rvsdg::Type > > operands, std::vector< std::shared_ptr< const jlm::rvsdg::Type > > results) | |
| size_t | narguments () const noexcept |
| const std::shared_ptr< const rvsdg::Type > & | argument (size_t index) const noexcept |
| size_t | nresults () const noexcept |
| const std::shared_ptr< const rvsdg::Type > & | result (size_t index) const noexcept |
Public Member Functions inherited from jlm::rvsdg::Operation | |
| virtual | ~Operation () noexcept |
| virtual bool | operator== (const Operation &other) const noexcept=0 |
| bool | operator!= (const Operation &other) const noexcept |
Static Public Member Functions | |
| static std::unique_ptr< PointerToFunctionOperation > | Create (std::shared_ptr< const rvsdg::FunctionType > fn) |
| static std::optional< std::vector< rvsdg::Output * > > | invertPointerToFunction (const PointerToFunctionOperation &operation, const std::vector< rvsdg::Output * > &operands) |
Private Attributes | |
| std::shared_ptr< const rvsdg::FunctionType > | FunctionType_ |
Interpret pointer as callable function.
Definition at line 936 of file ConversionOperations.hpp.
|
overridenoexcept |
Definition at line 421 of file ConversionOperations.cpp.
|
explicit |
Definition at line 424 of file ConversionOperations.cpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 450 of file ConversionOperations.cpp.
|
static |
Definition at line 479 of file ConversionOperations.cpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 444 of file ConversionOperations.cpp.
|
inlinenoexcept |
Definition at line 956 of file ConversionOperations.hpp.
|
static |
Performs the inversion of the PointerToFunctionOperation by detecting that its operand is a FunctionToPointerOperation.
f = FunctionToPointerOperation x p = PointerToFunctionOperation f => p = x
| operation | The PointerToFunctionOperation on which the transformation is performed. |
| operands | The operands of the PointerToFunctionOperation node. |
Definition at line 456 of file ConversionOperations.cpp.
|
overridenoexcept |
Definition at line 431 of file ConversionOperations.cpp.
|
private |
Definition at line 982 of file ConversionOperations.hpp.