LLVM  15.0.0git
Static Public Member Functions | Public Attributes | List of all members
llvm::DerefState Struct Reference

State for dereferenceable attribute. More...

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

Inheritance diagram for llvm::DerefState:
Inheritance graph
Collaboration diagram for llvm::DerefState:
Collaboration graph

Static Public Member Functions

static DerefState getBestState ()
static DerefState getBestState (const DerefState &)
static DerefState getWorstState ()
 Return the worst possible representable state. More...
static DerefState getWorstState (const DerefState &)

Public Attributes

IncIntegerState DerefBytesState
 State representing for dereferenceable bytes. More...
std::map< int64_t, uint64_tAccessedBytesMap
 Map representing for accessed memory offsets and sizes. More...

Additional Inherited Members

- 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. 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...
virtual ChangeStatus indicateOptimisticFixpoint ()=0
 Indicate that the abstract state should converge to the optimistic state. More...
virtual ChangeStatus indicatePessimisticFixpoint ()=0
 Indicate that the abstract state should converge to the pessimistic state. More...

Detailed Description

State for dereferenceable attribute.

Definition at line 3504 of file Attributor.h.

Member Function Documentation

◆ getBestState() [1/2]

static DerefState llvm::DerefState::getBestState ( )

Definition at line 3506 of file Attributor.h.

◆ getBestState() [2/2]

static DerefState llvm::DerefState::getBestState ( const DerefState )

Definition at line 3507 of file Attributor.h.

References getBestState().

Referenced by getBestState().

◆ getWorstState() [1/2]

static DerefState llvm::DerefState::getWorstState ( )

Return the worst possible representable state.

Definition at line 3510 of file Attributor.h.

References llvm::SIInstrFlags::DS.

Referenced by getWorstState().

◆ getWorstState() [2/2]

static DerefState llvm::DerefState::getWorstState ( const DerefState )

Definition at line 3515 of file Attributor.h.

References getWorstState().

Member Data Documentation

◆ AccessedBytesMap

std::map<int64_t, uint64_t> llvm::DerefState::AccessedBytesMap

Map representing for accessed memory offsets and sizes.

A key is Offset and a value is size. If there is a load/store instruction something like, p[offset] = v; (offset, sizeof(v)) will be inserted to this map. std::map is used because we want to iterate keys in ascending order.

Definition at line 3528 of file Attributor.h.

◆ DerefBytesState

IncIntegerState llvm::DerefState::DerefBytesState

State representing for dereferenceable bytes.

Definition at line 3520 of file Attributor.h.

Referenced by llvm::AADereferenceable::getAssumedDereferenceableBytes(), and llvm::AADereferenceable::getKnownDereferenceableBytes().

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