LLVM  14.0.0git
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::IncIntegerState< base_ty, BestState, WorstState > Struct Template Reference

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

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

Inheritance diagram for llvm::IncIntegerState< base_ty, BestState, WorstState >:
Inheritance graph
[legend]
Collaboration diagram for llvm::IncIntegerState< base_ty, BestState, WorstState >:
Collaboration graph
[legend]

Public Types

using super = IntegerStateBase< base_ty, BestState, WorstState >
 
using base_t = base_ty
 
- Public Types inherited from llvm::IntegerStateBase< uint32_t, ~uint32_t(0), 0 >
using base_t = uint32_t
 

Public Member Functions

 IncIntegerState ()
 
 IncIntegerState (base_t Assumed)
 
IncIntegerStatetakeAssumedMinimum (base_t Value)
 Take minimum of assumed and Value. More...
 
IncIntegerStatetakeKnownMaximum (base_t Value)
 Take maximum of known and Value. More...
 
- Public Member Functions inherited from llvm::IntegerStateBase< uint32_t, ~uint32_t(0), 0 >
 IntegerStateBase ()
 
 IntegerStateBase (base_t Assumed)
 
bool isValidState () const override
 See AbstractState::isValidState() NOTE: For now we simply pretend that the worst possible state is invalid. More...
 
bool isAtFixpoint () const override
 See AbstractState::isAtFixpoint() More...
 
ChangeStatus indicateOptimisticFixpoint () override
 See AbstractState::indicateOptimisticFixpoint(...) More...
 
ChangeStatus indicatePessimisticFixpoint () override
 See AbstractState::indicatePessimisticFixpoint(...) More...
 
base_t getKnown () const
 Return the known state encoding. More...
 
base_t getAssumed () const
 Return the assumed state encoding. More...
 
bool operator== (const IntegerStateBase< base_t, BestState, WorstState > &R) const
 Equality for IntegerStateBase. More...
 
bool operator!= (const IntegerStateBase< base_t, BestState, WorstState > &R) const
 Inequality for IntegerStateBase. More...
 
void operator^= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 "Clamp" this state with R. More...
 
void operator+= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 "Clamp" this state with R. More...
 
void operator|= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 
void operator&= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 
- Public Member Functions inherited from llvm::AbstractState
virtual ~AbstractState ()
 
virtual bool isValidState () const =0
 Return if this abstract state is in a valid state. More...
 
virtual bool isAtFixpoint () const =0
 Return if this abstract state is fixed, thus does not need to be updated if information changes as it cannot change itself. More...
 

Static Public Member Functions

static constexpr base_t getBestState ()
 Return the best possible representable state. More...
 
static constexpr base_t getBestState (const IncIntegerState< base_ty, BestState, WorstState > &)
 
- Static Public Member Functions inherited from llvm::IntegerStateBase< uint32_t, ~uint32_t(0), 0 >
static constexpr base_t getBestState ()
 Return the best possible representable state. More...
 
static constexpr base_t getBestState (const IntegerStateBase &)
 
static constexpr base_t getWorstState ()
 Return the worst possible representable state. More...
 
static constexpr base_t getWorstState (const IntegerStateBase &)
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::IntegerStateBase< uint32_t, ~uint32_t(0), 0 >
virtual void handleNewAssumedValue (base_t Value)=0
 Handle a new assumed value Value. Subtype dependent. More...
 
virtual void handleNewKnownValue (base_t Value)=0
 Handle a new known value Value. Subtype dependent. More...
 
virtual void joinOR (base_t AssumedValue, base_t KnownValue)=0
 Handle a value Value. Subtype dependent. More...
 
virtual void joinAND (base_t AssumedValue, base_t KnownValue)=0
 Handle a new assumed value Value. Subtype dependent. More...
 
- Protected Attributes inherited from llvm::IntegerStateBase< uint32_t, ~uint32_t(0), 0 >
base_t Known
 The known state encoding in an integer of type base_t. More...
 
base_t Assumed
 The assumed state encoding in an integer of type base_t. More...
 

Detailed Description

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

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

Definition at line 2275 of file Attributor.h.

Member Typedef Documentation

◆ base_t

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
using llvm::IncIntegerState< base_ty, BestState, WorstState >::base_t = base_ty

Definition at line 2278 of file Attributor.h.

◆ super

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

Definition at line 2277 of file Attributor.h.

Constructor & Destructor Documentation

◆ IncIntegerState() [1/2]

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

Definition at line 2280 of file Attributor.h.

◆ IncIntegerState() [2/2]

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
llvm::IncIntegerState< base_ty, BestState, WorstState >::IncIntegerState ( base_t  Assumed)
inline

Definition at line 2281 of file Attributor.h.

Member Function Documentation

◆ getBestState() [1/2]

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
static constexpr base_t llvm::IncIntegerState< base_ty, BestState, WorstState >::getBestState ( )
inlinestaticconstexpr

Return the best possible representable state.

Definition at line 2284 of file Attributor.h.

Referenced by llvm::IncIntegerState< base_ty, BestState, WorstState >::getBestState().

◆ getBestState() [2/2]

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
static constexpr base_t llvm::IncIntegerState< base_ty, BestState, WorstState >::getBestState ( const IncIntegerState< base_ty, BestState, WorstState > &  )
inlinestaticconstexpr

◆ takeAssumedMinimum()

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
IncIntegerState& llvm::IncIntegerState< base_ty, BestState, WorstState >::takeAssumedMinimum ( base_t  Value)
inline

◆ takeKnownMaximum()

template<typename base_ty = uint32_t, base_ty BestState = ~base_ty(0), base_ty WorstState = 0>
IncIntegerState& llvm::IncIntegerState< base_ty, BestState, WorstState >::takeKnownMaximum ( base_t  Value)
inline

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