LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::DecIntegerState< base_ty > Struct Template Reference

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

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

Inheritance diagram for llvm::DecIntegerState< base_ty >:
Inheritance graph
[legend]

Public Types

using base_t = base_ty
 
- Public Types inherited from llvm::IntegerStateBase< base_ty, BestState, WorstState >
using base_t = base_ty
 

Public Member Functions

DecIntegerStatetakeAssumedMaximum (base_t Value)
 Take maximum of assumed and Value.
 
DecIntegerStatetakeKnownMinimum (base_t Value)
 Take minimum of known and Value.
 
- Public Member Functions inherited from llvm::IntegerStateBase< base_ty, BestState, WorstState >
 IntegerStateBase ()=default
 
 IntegerStateBase (base_t Assumed)
 
bool isValidState () const override
 See AbstractState::isValidState() NOTE: For now we simply pretend that the worst possible state is invalid.
 
bool isAtFixpoint () const override
 See AbstractState::isAtFixpoint()
 
ChangeStatus indicateOptimisticFixpoint () override
 See AbstractState::indicateOptimisticFixpoint(...)
 
ChangeStatus indicatePessimisticFixpoint () override
 See AbstractState::indicatePessimisticFixpoint(...)
 
base_t getKnown () const
 Return the known state encoding.
 
base_t getAssumed () const
 Return the assumed state encoding.
 
bool operator== (const IntegerStateBase< base_t, BestState, WorstState > &R) const
 Equality for IntegerStateBase.
 
bool operator!= (const IntegerStateBase< base_t, BestState, WorstState > &R) const
 Inequality for IntegerStateBase.
 
void operator^= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 "Clamp" this state with R.
 
void operator+= (const IntegerStateBase< base_t, BestState, WorstState > &R)
 "Clamp" this state with R.
 
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 ()=default
 
virtual bool isValidState () const =0
 Return if this abstract state is in a valid state.
 
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.
 
virtual ChangeStatus indicateOptimisticFixpoint ()=0
 Indicate that the abstract state should converge to the optimistic state.
 
virtual ChangeStatus indicatePessimisticFixpoint ()=0
 Indicate that the abstract state should converge to the pessimistic state.
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::IntegerStateBase< base_ty, BestState, WorstState >
static constexpr base_t getBestState ()
 Return the best possible representable state.
 
static constexpr base_t getBestState (const IntegerStateBase &)
 
static constexpr base_t getWorstState ()
 Return the worst possible representable state.
 
static constexpr base_t getWorstState (const IntegerStateBase &)
 
virtual void handleNewAssumedValue (base_t Value)=0
 Handle a new assumed value Value. Subtype dependent.
 
virtual void handleNewKnownValue (base_t Value)=0
 Handle a new known value Value. Subtype dependent.
 
virtual void joinOR (base_t AssumedValue, base_t KnownValue)=0
 Handle a value Value. Subtype dependent.
 
virtual void joinAND (base_t AssumedValue, base_t KnownValue)=0
 Handle a new assumed value Value. Subtype dependent.
 
- Protected Attributes inherited from llvm::IntegerStateBase< base_ty, BestState, WorstState >
base_t Known = getWorstState()
 The known state encoding in an integer of type base_t.
 
base_t Assumed = getBestState()
 The assumed state encoding in an integer of type base_t.
 

Detailed Description

template<typename base_ty = uint32_t>
struct llvm::DecIntegerState< base_ty >

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

Definition at line 2854 of file Attributor.h.

Member Typedef Documentation

◆ base_t

template<typename base_ty = uint32_t>
using llvm::DecIntegerState< base_ty >::base_t = base_ty

Definition at line 2855 of file Attributor.h.

Member Function Documentation

◆ takeAssumedMaximum()

template<typename base_ty = uint32_t>
DecIntegerState & llvm::DecIntegerState< base_ty >::takeAssumedMaximum ( base_t  Value)
inline

◆ takeKnownMinimum()

template<typename base_ty = uint32_t>
DecIntegerState & llvm::DecIntegerState< base_ty >::takeKnownMinimum ( base_t  Value)
inline

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