LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::BooleanState Struct Reference

Simple wrapper for a single bit (boolean) state. More...

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

Inheritance diagram for llvm::BooleanState:
Inheritance graph
[legend]

Public Types

using super = IntegerStateBase< bool, true, false >
 
using base_t = IntegerStateBase::base_t
 
- Public Types inherited from llvm::IntegerStateBase< bool, true, false >
using base_t = bool
 

Public Member Functions

 BooleanState ()=default
 
 BooleanState (base_t Assumed)
 
void setAssumed (bool Value)
 Set the assumed value to Value but never below the known one.
 
void setKnown (bool Value)
 Set the known and asssumed value to Value.
 
bool isAssumed () const
 Return true if the state is assumed to hold.
 
bool isKnown () const
 Return true if the state is known to hold.
 
- Public Member Functions inherited from llvm::IntegerStateBase< bool, true, false >
 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< bool, true, false >
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 &)
 
- Protected Member Functions inherited from llvm::IntegerStateBase< bool, true, false >
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< bool, true, false >
base_t Known
 The known state encoding in an integer of type base_t.
 
base_t Assumed
 The assumed state encoding in an integer of type base_t.
 

Detailed Description

Simple wrapper for a single bit (boolean) state.

Definition at line 2880 of file Attributor.h.

Member Typedef Documentation

◆ base_t

Definition at line 2882 of file Attributor.h.

◆ super

Definition at line 2881 of file Attributor.h.

Constructor & Destructor Documentation

◆ BooleanState() [1/2]

llvm::BooleanState::BooleanState ( )
default

◆ BooleanState() [2/2]

llvm::BooleanState::BooleanState ( base_t  Assumed)
inline

Definition at line 2885 of file Attributor.h.

Member Function Documentation

◆ isAssumed()

bool llvm::BooleanState::isAssumed ( ) const
inline

Return true if the state is assumed to hold.

Definition at line 2897 of file Attributor.h.

References llvm::IntegerStateBase< bool, true, false >::getAssumed().

Referenced by llvm::AAInstanceInfo::isAssumedUniqueForAnalysis().

◆ isKnown()

bool llvm::BooleanState::isKnown ( ) const
inline

Return true if the state is known to hold.

Definition at line 2900 of file Attributor.h.

References llvm::IntegerStateBase< bool, true, false >::getKnown().

Referenced by llvm::AAInstanceInfo::isKnownUniqueForAnalysis().

◆ setAssumed()

void llvm::BooleanState::setAssumed ( bool  Value)
inline

Set the assumed value to Value but never below the known one.

Definition at line 2888 of file Attributor.h.

References llvm::IntegerStateBase< bool, true, false >::Assumed, and llvm::IntegerStateBase< bool, true, false >::Known.

◆ setKnown()

void llvm::BooleanState::setKnown ( bool  Value)
inline

Set the known and asssumed value to Value.

Definition at line 2891 of file Attributor.h.

References llvm::IntegerStateBase< bool, true, false >::Assumed, and llvm::IntegerStateBase< bool, true, false >::Known.


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