|
Jlm
|
FreezeOperation class. More...
#include <operators.hpp>


Public Member Functions | |
| ~FreezeOperation () noexcept override | |
| FreezeOperation (std::shared_ptr< const jlm::rvsdg::Type > type) | |
| bool | operator== (const Operation &other) const noexcept override |
| rvsdg::unop_reduction_path_t | can_reduce_operand (const jlm::rvsdg::Output *arg) const noexcept override |
| jlm::rvsdg::Output * | reduce_operand (rvsdg::unop_reduction_path_t path, jlm::rvsdg::Output *arg) const override |
| std::string | debug_string () const override |
| std::unique_ptr< Operation > | copy () const override |
| const jlm::rvsdg::Type & | getType () const noexcept |
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 |
| 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 > | createTac (const Variable &operand) |
| static jlm::rvsdg::Node & | createNode (jlm::rvsdg::Output &operand) |
FreezeOperation class.
This operator is the Jlm equivalent of LLVM's freeze operation. It converts undef and poison values into arbitrary, but fixed, values. For all other inputs it is a no-op.
Definition at line 1159 of file operators.hpp.
|
overridedefaultnoexcept |
|
inlineexplicit |
Definition at line 1164 of file operators.hpp.
|
overridevirtualnoexcept |
Implements jlm::rvsdg::UnaryOperation.
Definition at line 609 of file operators.cpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 629 of file operators.cpp.
|
inlinestatic |
Definition at line 1200 of file operators.hpp.
|
inlinestatic |
Definition at line 1193 of file operators.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 623 of file operators.cpp.
|
inlinenoexcept |
Definition at line 1187 of file operators.hpp.
|
overridenoexcept |
Definition at line 602 of file operators.cpp.
|
overridevirtual |
Implements jlm::rvsdg::UnaryOperation.
Definition at line 615 of file operators.cpp.