|
Jlm
|
#include <operators.hpp>


Public Member Functions | |
| ~SsaPhiOperation () noexcept override | |
| SsaPhiOperation (std::vector< ControlFlowGraphNode * > incomingNodes, const std::shared_ptr< const jlm::rvsdg::Type > &type) | |
| SsaPhiOperation (const SsaPhiOperation &)=default | |
| SsaPhiOperation & | operator= (const SsaPhiOperation &)=delete |
| SsaPhiOperation & | operator= (SsaPhiOperation &&)=delete |
| 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::Type > & | Type () const noexcept |
| ControlFlowGraphNode * | GetIncomingNode (size_t n) 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 std::unique_ptr< llvm::ThreeAddressCode > | create (const std::vector< std::pair< const Variable *, ControlFlowGraphNode * >> &arguments, std::shared_ptr< const jlm::rvsdg::Type > type) |
Private Attributes | |
| std::vector< ControlFlowGraphNode * > | IncomingNodes_ |
Operation that picks its value based on which node branched to the current basic block. All SsaPhiOperations must be at the top of their basic blocks.
Each operand corresponds to an incoming basic block, and the list of incoming nodes must include every predecessor in the cfg exactly once.
Definition at line 31 of file operators.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 36 of file operators.hpp.
|
default |
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 40 of file operators.cpp.
|
inlinestatic |
Definition at line 74 of file operators.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 25 of file operators.cpp.
|
inlinenoexcept |
Definition at line 67 of file operators.hpp.
|
delete |
|
delete |
|
overridenoexcept |
Definition at line 18 of file operators.cpp.
|
inlinenoexcept |
Definition at line 61 of file operators.hpp.
|
private |
Definition at line 91 of file operators.hpp.