Jlm
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
jlm::rvsdg::PredicateValueRange Class Reference

Value range for a predicate. More...

#include <RegionPredicateTrace.hpp>

Public Member Functions

void UpdateUnion (const PredicateValueRange &other)
 Takes union of two value ranges.
 
bool AllowsValue (std::size_t alternative) const noexcept
 Checks whether value range allows a specific value.
 

Static Public Member Functions

static PredicateValueRange CreateEmpty (const ControlType &type)
 Constructs empty value range (unsatisfiable predicate range).
 
static PredicateValueRange CreateUnknown (const ControlType &type)
 Constructs full value range (every value possible).
 
static PredicateValueRange CreateSingleValue (const ControlValueRepresentation &value)
 Definite value range (exactly one value possible).
 

Private Member Functions

 PredicateValueRange (std::size_t nalternatives, bool init_value)
 

Private Attributes

std::vector< boolvalues_
 

Detailed Description

Value range for a predicate.

Describes which values a predicate can take.

Definition at line 23 of file RegionPredicateTrace.hpp.

Constructor & Destructor Documentation

◆ PredicateValueRange()

jlm::rvsdg::PredicateValueRange::PredicateValueRange ( std::size_t  nalternatives,
bool  init_value 
)
inlineprivate

Definition at line 78 of file RegionPredicateTrace.hpp.

Member Function Documentation

◆ AllowsValue()

bool jlm::rvsdg::PredicateValueRange::AllowsValue ( std::size_t  alternative) const
inlinenoexcept

Checks whether value range allows a specific value.

Definition at line 72 of file RegionPredicateTrace.hpp.

◆ CreateEmpty()

static PredicateValueRange jlm::rvsdg::PredicateValueRange::CreateEmpty ( const ControlType type)
inlinestatic

Constructs empty value range (unsatisfiable predicate range).

Definition at line 30 of file RegionPredicateTrace.hpp.

◆ CreateSingleValue()

static PredicateValueRange jlm::rvsdg::PredicateValueRange::CreateSingleValue ( const ControlValueRepresentation value)
inlinestatic

Definite value range (exactly one value possible).

Definition at line 48 of file RegionPredicateTrace.hpp.

◆ CreateUnknown()

static PredicateValueRange jlm::rvsdg::PredicateValueRange::CreateUnknown ( const ControlType type)
inlinestatic

Constructs full value range (every value possible).

Definition at line 39 of file RegionPredicateTrace.hpp.

◆ UpdateUnion()

void jlm::rvsdg::PredicateValueRange::UpdateUnion ( const PredicateValueRange other)
inline

Takes union of two value ranges.

Definition at line 59 of file RegionPredicateTrace.hpp.

Member Data Documentation

◆ values_

std::vector<bool> jlm::rvsdg::PredicateValueRange::values_
private

Definition at line 82 of file RegionPredicateTrace.hpp.


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