|
Jlm
|
#include <MemoryStateOperations.hpp>


Public Member Functions | |
| ~CallEntryMemoryStateMergeOperation () noexcept override | |
| CallEntryMemoryStateMergeOperation (const std::vector< MemoryNodeId > &memoryNodeIds) | |
| bool | operator== (const Operation &other) const noexcept override |
| std::string | debug_string () const override |
| std::unique_ptr< Operation > | copy () const override |
| std::vector< MemoryNodeId > | getMemoryNodeIds () const noexcept |
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 rvsdg::Input * | tryMapMemoryNodeIdToInput (const rvsdg::SimpleNode &node, MemoryNodeId memoryNodeId) |
| static rvsdg::SimpleNode & | CreateNode (rvsdg::Region ®ion, const std::vector< rvsdg::Output * > &operands, std::vector< MemoryNodeId > memoryNodeIds) |
Private Attributes | |
| util::BijectiveMap< MemoryNodeId, size_t > | MemoryNodeIdToIndex_ {} |
Additional Inherited Members | |
Protected Member Functions inherited from jlm::llvm::MemoryStateOperation | |
| MemoryStateOperation (size_t numOperands, size_t numResults) | |
A call entry memory state merge operation takes multiple states as input and merges them together to a single output state. In contrast to the MemoryStateMergeOperation, this operation is allowed to have zero input states. The operation's output is required to be connected to the memory state argument of a call.
The operation has no equivalent LLVM instruction.
Definition at line 509 of file MemoryStateOperations.hpp.
|
overridedefaultnoexcept |
|
explicit |
Definition at line 603 of file MemoryStateOperations.cpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 628 of file MemoryStateOperations.cpp.
|
inlinestatic |
Definition at line 553 of file MemoryStateOperations.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 622 of file MemoryStateOperations.cpp.
|
inlinenoexcept |
Definition at line 529 of file MemoryStateOperations.hpp.
|
overridenoexcept |
Definition at line 615 of file MemoryStateOperations.cpp.
|
static |
Maps a memory node identifier to the respective input of a CallEntryMemoryStateMergeOperation node.
| node | A CallEntryMemoryStateMergeOperation node. |
| memoryNodeId | A memory node identifier. |
Definition at line 634 of file MemoryStateOperations.cpp.
|
private |
Definition at line 567 of file MemoryStateOperations.hpp.