llvm::IncIntegerState

Specialization of the integer state for an increasing value, hence ~0u is the best state and 0 the worst.

Synopsis

Declared in <llvm/Transforms/IPO/Attributor.h>

template<
    typename base_ty = uint32_t,
    base_ty BestState = ~ base_ty(0),
    base_ty WorstState = 0>
struct IncIntegerState
    : IntegerStateBase<base_ty, BestState, WorstState>

Base Classes

NameDescription
IntegerStateBase<base_ty, BestState, WorstState>Simple state with integers encoding.

Type Aliases

NameDescription
base_t Underlying integer storage type.
super Superclass type alias.

Member Functions

NameDescription
IncIntegerState [constructor]Constructors
getAssumed Return the assumed state encoding.
getKnown Return the known state encoding
indicateOptimisticFixpoint [virtual]See AbstractState::indicateOptimisticFixpoint(...)
indicatePessimisticFixpoint [virtual]See AbstractState::indicatePessimisticFixpoint(...)
isAtFixpoint [virtual]See AbstractState::isAtFixpoint()
isValidState [virtual]See AbstractState::isValidState() NOTE: For now we simply pretend that the worst possible state is invalid.
operator&= Join assumed and known information with R using bitwise AND.
operator+= "Clamp" this state with R. The result is subtype dependent but it is intended that information known in either state will be known in this one afterwards.
operator^= Clamp this state with R.
operator|= Join assumed and known information with R using bitwise OR.
takeAssumedMinimum Take minimum of assumed and Value.
takeKnownMaximum Take maximum of known and Value.
operator== Return true if this equals R.
operator!= Return true if this differs from R.

Static Member Functions

NameDescription
getBestState getBestState overloads
getWorstState getWorstState overloads

Protected Member Functions

NameDescription
handleNewAssumedValue [virtual]Handle a new assumed value Value. Subtype dependent.
handleNewKnownValue [virtual]Handle a new known value Value. Subtype dependent.
joinAND [virtual]Handle a new assumed value Value. Subtype dependent.
joinOR [virtual]Handle a value Value. Subtype dependent.

Protected Data Members

NameDescription
Assumed The assumed state encoding in an integer of type base_t.
Known The known state encoding in an integer of type base_t.

Return Value

The computed result.