LLVM 20.0.0git
Classes | Public Member Functions | List of all members
llvm::SetState< BaseTy > Struct Template Reference

Simple state for a set. More...

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

Inheritance diagram for llvm::SetState< BaseTy >:
Inheritance graph
[legend]

Classes

struct  SetContents
 A wrapper around a set that has semantics for handling unions and intersections with a "universal" set that contains all elements. More...
 

Public Member Functions

 SetState ()
 
 SetState (const DenseSet< BaseTy > &Known)
 Initializes the known state with an initial set and initializes the assumed state as universal.
 
bool isValidState () const override
 See AbstractState::isValidState()
 
bool isAtFixpoint () const override
 See AbstractState::isAtFixpoint()
 
ChangeStatus indicateOptimisticFixpoint () override
 See AbstractState::indicateOptimisticFixpoint(...)
 
ChangeStatus indicatePessimisticFixpoint () override
 See AbstractState::indicatePessimisticFixpoint(...)
 
const SetContentsgetKnown () const
 Return the known state encoding.
 
const SetContentsgetAssumed () const
 Return the assumed state encoding.
 
bool setContains (const BaseTy &Elem) const
 Returns if the set state contains the element.
 
bool getIntersection (const SetContents &RHS)
 Performs the set intersection between this set and RHS.
 
bool getUnion (const SetContents &RHS)
 Performs the set union between this set and RHS.
 
- 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.
 

Detailed Description

template<typename BaseTy>
struct llvm::SetState< BaseTy >

Simple state for a set.

This represents a state containing a set of values. The interface supports modelling sets that contain all possible elements. The state's internal value is modified using union or intersection operations.

Definition at line 3042 of file Attributor.h.

Constructor & Destructor Documentation

◆ SetState() [1/2]

template<typename BaseTy >
llvm::SetState< BaseTy >::SetState ( )
inline

Definition at line 3104 of file Attributor.h.

◆ SetState() [2/2]

template<typename BaseTy >
llvm::SetState< BaseTy >::SetState ( const DenseSet< BaseTy > &  Known)
inline

Initializes the known state with an initial set and initializes the assumed state as universal.

Definition at line 3108 of file Attributor.h.

Member Function Documentation

◆ getAssumed()

template<typename BaseTy >
const SetContents & llvm::SetState< BaseTy >::getAssumed ( ) const
inline

Return the assumed state encoding.

Definition at line 3135 of file Attributor.h.

◆ getIntersection()

template<typename BaseTy >
bool llvm::SetState< BaseTy >::getIntersection ( const SetContents RHS)
inline

◆ getKnown()

template<typename BaseTy >
const SetContents & llvm::SetState< BaseTy >::getKnown ( ) const
inline

Return the known state encoding.

Definition at line 3132 of file Attributor.h.

◆ getUnion()

template<typename BaseTy >
bool llvm::SetState< BaseTy >::getUnion ( const SetContents RHS)
inline

Performs the set union between this set and RHS.

Returns true if changes were made.

Definition at line 3159 of file Attributor.h.

References llvm::SetState< BaseTy >::SetContents::getUnion(), and RHS.

◆ indicateOptimisticFixpoint()

template<typename BaseTy >
ChangeStatus llvm::SetState< BaseTy >::indicateOptimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicateOptimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 3118 of file Attributor.h.

References llvm::UNCHANGED.

◆ indicatePessimisticFixpoint()

template<typename BaseTy >
ChangeStatus llvm::SetState< BaseTy >::indicatePessimisticFixpoint ( )
inlineoverridevirtual

See AbstractState::indicatePessimisticFixpoint(...)

Implements llvm::AbstractState.

Definition at line 3125 of file Attributor.h.

References llvm::CHANGED.

◆ isAtFixpoint()

template<typename BaseTy >
bool llvm::SetState< BaseTy >::isAtFixpoint ( ) const
inlineoverridevirtual

See AbstractState::isAtFixpoint()

Implements llvm::AbstractState.

Definition at line 3115 of file Attributor.h.

◆ isValidState()

template<typename BaseTy >
bool llvm::SetState< BaseTy >::isValidState ( ) const
inlineoverridevirtual

◆ setContains()

template<typename BaseTy >
bool llvm::SetState< BaseTy >::setContains ( const BaseTy Elem) const
inline

Returns if the set state contains the element.

Definition at line 3138 of file Attributor.h.

References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::contains(), and llvm::SetState< BaseTy >::SetContents::getSet().


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