LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::IntegerRangeState Struct Reference

State for an integer range. More...

#include "llvm/Transforms/IPO/Attributor.h"

Inheritance diagram for llvm::IntegerRangeState:
Inheritance graph
[legend]
Collaboration diagram for llvm::IntegerRangeState:
Collaboration graph
[legend]

Public Member Functions

 IntegerRangeState (uint32_t BitWidth)
 
 IntegerRangeState (const ConstantRange &CR)
 
uint32_t getBitWidth () const
 Return associated values' bit width. More...
 
bool isValidState () const override
 See AbstractState::isValidState() More...
 
bool isAtFixpoint () const override
 See AbstractState::isAtFixpoint() More...
 
ChangeStatus indicateOptimisticFixpoint () override
 See AbstractState::indicateOptimisticFixpoint(...) More...
 
ChangeStatus indicatePessimisticFixpoint () override
 See AbstractState::indicatePessimisticFixpoint(...) More...
 
ConstantRange getKnown () const
 Return the known state encoding. More...
 
ConstantRange getAssumed () const
 Return the assumed state encoding. More...
 
void unionAssumed (const ConstantRange &R)
 Unite assumed range with the passed state. More...
 
void unionAssumed (const IntegerRangeState &R)
 See IntegerRangeState::unionAssumed(..). More...
 
void unionKnown (const ConstantRange &R)
 Unite known range with the passed state. More...
 
void unionKnown (const IntegerRangeState &R)
 See IntegerRangeState::unionKnown(..). More...
 
void intersectKnown (const ConstantRange &R)
 Intersect known range with the passed state. More...
 
void intersectKnown (const IntegerRangeState &R)
 See IntegerRangeState::intersectKnown(..). More...
 
bool operator== (const IntegerRangeState &R) const
 Equality for IntegerRangeState. More...
 
IntegerRangeState operator^= (const IntegerRangeState &R)
 "Clamp" this state with R. More...
 
IntegerRangeState operator&= (const IntegerRangeState &R)
 
- Public Member Functions inherited from llvm::AbstractState
virtual ~AbstractState ()
 

Static Public Member Functions

static ConstantRange getWorstState (uint32_t BitWidth)
 Return the worst possible representable state. More...
 
static ConstantRange getBestState (uint32_t BitWidth)
 Return the best possible representable state. More...
 
static ConstantRange getBestState (const IntegerRangeState &IRS)
 

Public Attributes

uint32_t BitWidth
 Bitwidth of the associated value. More...
 
ConstantRange Assumed
 State representing assumed range, initially set to empty. More...
 
ConstantRange Known
 State representing known range, initially set to [-inf, inf]. More...
 

Detailed Description

State for an integer range.

Definition at line 2399 of file Attributor.h.

Constructor & Destructor Documentation

◆ IntegerRangeState() [1/2]

llvm::IntegerRangeState::IntegerRangeState ( uint32_t  BitWidth)
inline

Definition at line 2410 of file Attributor.h.

◆ IntegerRangeState() [2/2]

llvm::IntegerRangeState::IntegerRangeState ( const ConstantRange CR)
inline

Definition at line 2414 of file Attributor.h.

Member Function Documentation

◆ getAssumed()

ConstantRange llvm::IntegerRangeState::getAssumed ( ) const
inline

Return the assumed state encoding.

Definition at line 2458 of file Attributor.h.

References Assumed.

Referenced by operator==(), and stripAndAccumulateMinimalOffsets().

◆ getBestState() [1/2]

static ConstantRange llvm::IntegerRangeState::getBestState ( const IntegerRangeState IRS)
inlinestatic

Definition at line 2427 of file Attributor.h.

References getBestState(), and getBitWidth().

◆ getBestState() [2/2]

static ConstantRange llvm::IntegerRangeState::getBestState ( uint32_t  BitWidth)
inlinestatic

Return the best possible representable state.

Definition at line 2424 of file Attributor.h.

References BitWidth.

Referenced by getBestState().

◆ getBitWidth()

uint32_t llvm::IntegerRangeState::getBitWidth ( ) const
inline

Return associated values' bit width.

Definition at line 2432 of file Attributor.h.

References BitWidth.

Referenced by getBestState().

◆ getKnown()

ConstantRange llvm::IntegerRangeState::getKnown ( ) const
inline

Return the known state encoding.

Definition at line 2455 of file Attributor.h.

References Known.

Referenced by operator==(), and stripAndAccumulateMinimalOffsets().

◆ getWorstState()

static ConstantRange llvm::IntegerRangeState::getWorstState ( uint32_t  BitWidth)
inlinestatic

Return the worst possible representable state.

Definition at line 2419 of file Attributor.h.

References BitWidth.

◆ indicateOptimisticFixpoint()

ChangeStatus llvm::IntegerRangeState::indicateOptimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicateOptimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 2443 of file Attributor.h.

References Assumed, llvm::CHANGED, and Known.

◆ indicatePessimisticFixpoint()

ChangeStatus llvm::IntegerRangeState::indicatePessimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicatePessimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 2449 of file Attributor.h.

References Assumed, llvm::CHANGED, and Known.

◆ intersectKnown() [1/2]

void llvm::IntegerRangeState::intersectKnown ( const ConstantRange R)
inline

Intersect known range with the passed state.

Definition at line 2482 of file Attributor.h.

References Assumed, llvm::ConstantRange::intersectWith(), and Known.

Referenced by intersectKnown().

◆ intersectKnown() [2/2]

void llvm::IntegerRangeState::intersectKnown ( const IntegerRangeState R)
inline

See IntegerRangeState::intersectKnown(..).

Definition at line 2488 of file Attributor.h.

References intersectKnown().

◆ isAtFixpoint()

bool llvm::IntegerRangeState::isAtFixpoint ( ) const
inlineoverridevirtual

See AbstractState::isAtFixpoint()

Implements llvm::AbstractState.

Definition at line 2440 of file Attributor.h.

References Assumed, and Known.

◆ isValidState()

bool llvm::IntegerRangeState::isValidState ( ) const
inlineoverridevirtual

◆ operator&=()

IntegerRangeState llvm::IntegerRangeState::operator&= ( const IntegerRangeState R)
inline

Definition at line 2507 of file Attributor.h.

References unionAssumed(), and unionKnown().

◆ operator==()

bool llvm::IntegerRangeState::operator== ( const IntegerRangeState R) const
inline

Equality for IntegerRangeState.

Definition at line 2493 of file Attributor.h.

References getAssumed(), and getKnown().

◆ operator^=()

IntegerRangeState llvm::IntegerRangeState::operator^= ( const IntegerRangeState R)
inline

"Clamp" this state with R.

The result is subtype dependent but it is intended that only information assumed in both states will be assumed in this one afterwards.

Definition at line 2500 of file Attributor.h.

References unionAssumed().

◆ unionAssumed() [1/2]

void llvm::IntegerRangeState::unionAssumed ( const ConstantRange R)
inline

Unite assumed range with the passed state.

Definition at line 2461 of file Attributor.h.

References Assumed, llvm::ConstantRange::intersectWith(), Known, and llvm::ConstantRange::unionWith().

Referenced by operator&=(), operator^=(), and unionAssumed().

◆ unionAssumed() [2/2]

void llvm::IntegerRangeState::unionAssumed ( const IntegerRangeState R)
inline

See IntegerRangeState::unionAssumed(..).

Definition at line 2467 of file Attributor.h.

References unionAssumed().

◆ unionKnown() [1/2]

void llvm::IntegerRangeState::unionKnown ( const ConstantRange R)
inline

Unite known range with the passed state.

Definition at line 2472 of file Attributor.h.

References Assumed, Known, and llvm::ConstantRange::unionWith().

Referenced by operator&=().

◆ unionKnown() [2/2]

void llvm::IntegerRangeState::unionKnown ( const IntegerRangeState R)
inline

See IntegerRangeState::unionKnown(..).

Definition at line 2479 of file Attributor.h.

References unionKnown().

Referenced by unionKnown().

Member Data Documentation

◆ Assumed

ConstantRange llvm::IntegerRangeState::Assumed

State representing assumed range, initially set to empty.

Definition at line 2405 of file Attributor.h.

Referenced by getAssumed(), indicateOptimisticFixpoint(), indicatePessimisticFixpoint(), intersectKnown(), isAtFixpoint(), isValidState(), unionAssumed(), and unionKnown().

◆ BitWidth

uint32_t llvm::IntegerRangeState::BitWidth

Bitwidth of the associated value.

Definition at line 2402 of file Attributor.h.

Referenced by getBestState(), getBitWidth(), getWorstState(), and isValidState().

◆ Known

ConstantRange llvm::IntegerRangeState::Known

State representing known range, initially set to [-inf, inf].

Definition at line 2408 of file Attributor.h.

Referenced by getKnown(), indicateOptimisticFixpoint(), indicatePessimisticFixpoint(), intersectKnown(), isAtFixpoint(), unionAssumed(), and unionKnown().


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