Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
jlm::rvsdg::UndefControlConstantOperation Class Referencefinal

#include <control.hpp>

Inheritance diagram for jlm::rvsdg::UndefControlConstantOperation:
Inheritance graph
[legend]
Collaboration diagram for jlm::rvsdg::UndefControlConstantOperation:
Collaboration graph
[legend]

Public Member Functions

 ~UndefControlConstantOperation () noexcept override
 
 UndefControlConstantOperation (const size_t numAlternatives)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
size_t numAlternatives () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::NullaryOperation
 ~NullaryOperation () noexcept override
 
 NullaryOperation (std::shared_ptr< const Type > resultType)
 
- 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 (Region &region, const size_t numAlternatives)
 

Detailed Description

Represents a control constant with undefined value.

This operation is useful for predicate region tracing where the compiler statically knows that a given region can never be executed in order to reach a given value. It uses then this operation to indicate to the tracer that it can ignore the region under examination, potentially leading to more precise tracing results.

See also
AlternativeRegionPredicateTracer

Definition at line 159 of file control.hpp.

Constructor & Destructor Documentation

◆ ~UndefControlConstantOperation()

jlm::rvsdg::UndefControlConstantOperation::~UndefControlConstantOperation ( )
overridedefaultnoexcept

◆ UndefControlConstantOperation()

jlm::rvsdg::UndefControlConstantOperation::UndefControlConstantOperation ( const size_t  numAlternatives)
inlineexplicit

Definition at line 164 of file control.hpp.

Member Function Documentation

◆ copy()

std::unique_ptr< Operation > jlm::rvsdg::UndefControlConstantOperation::copy ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 127 of file control.cpp.

◆ createNode()

static Node & jlm::rvsdg::UndefControlConstantOperation::createNode ( Region &  region,
const size_t  numAlternatives 
)
inlinestatic

Definition at line 185 of file control.hpp.

◆ debug_string()

std::string jlm::rvsdg::UndefControlConstantOperation::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 121 of file control.cpp.

◆ numAlternatives()

size_t jlm::rvsdg::UndefControlConstantOperation::numAlternatives ( ) const
inlinenoexcept

Definition at line 178 of file control.hpp.

◆ operator==()

bool jlm::rvsdg::UndefControlConstantOperation::operator== ( const Operation &  other) const
overridevirtualnoexcept

Implements jlm::rvsdg::Operation.

Definition at line 114 of file control.cpp.


The documentation for this class was generated from the following files: