|
Jlm
|
#include <control.hpp>


Public Member Functions | |
| ~MatchOperation () noexcept override | |
| MatchOperation (size_t nbits, const std::unordered_map< uint64_t, uint64_t > &mapping, uint64_t default_alternative, size_t nalternatives) | |
| bool | operator== (const Operation &other) const noexcept override |
| unop_reduction_path_t | can_reduce_operand (const jlm::rvsdg::Output *arg) const noexcept override |
| jlm::rvsdg::Output * | reduce_operand (unop_reduction_path_t path, jlm::rvsdg::Output *arg) const override |
| std::string | debug_string () const override |
| std::unique_ptr< Operation > | copy () const override |
| uint64_t | nalternatives () const noexcept |
| uint64_t | alternative (uint64_t value) const noexcept |
| uint64_t | default_alternative () const noexcept |
| size_t | nbits () const noexcept |
| const_iterator | begin () const |
| const_iterator | end () const |
Public Member Functions inherited from jlm::rvsdg::UnaryOperation | |
| ~UnaryOperation () noexcept override | |
| UnaryOperation (std::shared_ptr< const jlm::rvsdg::Type > operand, std::shared_ptr< const jlm::rvsdg::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 |
| bool | operator!= (const Operation &other) const noexcept |
Static Public Member Functions | |
| static Node & | CreateNode (Output &predicate, const std::unordered_map< uint64_t, uint64_t > &mapping, const uint64_t defaultAlternative, const size_t numAlternatives) |
| static Output * | Create (Output &predicate, const std::unordered_map< uint64_t, uint64_t > &mapping, const uint64_t defaultAlternative, const size_t numAlternatives) |
Private Types | |
| typedef std::unordered_map< uint64_t, uint64_t >::const_iterator | const_iterator |
Static Private Member Functions | |
| static const BitType & | CheckAndExtractBitType (const rvsdg::Type &type) |
Private Attributes | |
| uint64_t | default_alternative_ |
| std::unordered_map< uint64_t, uint64_t > | mapping_ |
Match operator Converts an n-bit integer input into a value of type ControlType. The ControlType has a given number of alternative values, which are indexed starting at 0. The match can represent any mapping from integers to alternatives, with a default alternative. These alternatives represent the different outgoing edges from a basic block, or the different regions of a gamma node.
Definition at line 157 of file control.hpp.
|
private |
Definition at line 159 of file control.hpp.
|
overridedefaultnoexcept |
| jlm::rvsdg::MatchOperation::MatchOperation | ( | size_t | nbits, |
| const std::unordered_map< uint64_t, uint64_t > & | mapping, | ||
| uint64_t | default_alternative, | ||
| size_t | nalternatives | ||
| ) |
Definition at line 113 of file control.cpp.
|
inlinenoexcept |
Definition at line 192 of file control.hpp.
|
inline |
Definition at line 214 of file control.hpp.
|
overridevirtualnoexcept |
Implements jlm::rvsdg::UnaryOperation.
Definition at line 132 of file control.cpp.
|
inlinestaticprivate |
Definition at line 253 of file control.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 173 of file control.cpp.
|
inlinestatic |
Definition at line 242 of file control.hpp.
|
inlinestatic |
Definition at line 226 of file control.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 162 of file control.cpp.
|
inlinenoexcept |
Definition at line 202 of file control.hpp.
|
inline |
Definition at line 220 of file control.hpp.
|
inlinenoexcept |
Definition at line 186 of file control.hpp.
|
inlinenoexcept |
Definition at line 208 of file control.hpp.
|
overridevirtualnoexcept |
Implements jlm::rvsdg::Operation.
Definition at line 124 of file control.cpp.
|
overridevirtual |
Implements jlm::rvsdg::UnaryOperation.
Definition at line 145 of file control.cpp.
|
private |
Definition at line 263 of file control.hpp.
|
private |
Definition at line 264 of file control.hpp.