struct State
Declaration
struct State : public AbstractState { /* full declaration omitted */ };
Description
A type to track pointer/struct usage and accesses for AAPointerInfo.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:739
Inherits from: AbstractState
Member Variables
- protected llvm::AA::PointerInfo::State::AccessBinsTy AccessBins
- The bins with all the accesses for the associated pointer.
- private llvm::BooleanState BS
- State to track fixpoint and validity.
Method Overview
- public State()
- public State(llvm::AA::PointerInfo::State && SIS)
- protected llvm::ChangeStatus addAccess(llvm::Attributor & A, int64_t Offset, int64_t Size, llvm::Instruction & I, Optional<llvm::Value *> Content, AAPointerInfo::AccessKind Kind, llvm::Type * Ty, llvm::Instruction * RemoteI = nullptr, llvm::AA::PointerInfo::State::Accesses * BinPtr = nullptr)
- public AccessBinsTy::const_iterator begin() const
- public AccessBinsTy::const_iterator end() const
- protected bool forallInterferingAccesses(AAPointerInfo::OffsetAndSize OAS, function_ref<bool (const AAPointerInfo::Access &, bool)> CB) const
- protected bool forallInterferingAccesses(llvm::Instruction & I, function_ref<bool (const AAPointerInfo::Access &, bool)> CB) const
- public const llvm::AA::PointerInfo::State & getAssumed() const
- public static llvm::AA::PointerInfo::State getBestState(const llvm::AA::PointerInfo::State & SIS)
- public static llvm::AA::PointerInfo::State getWorstState(const llvm::AA::PointerInfo::State & SIS)
- public llvm::ChangeStatus indicateOptimisticFixpoint()
- public llvm::ChangeStatus indicatePessimisticFixpoint()
- public bool isAtFixpoint() const
- public bool isValidState() const
- public ~State()
Inherited from AbstractState:
- public indicateOptimisticFixpoint
- public indicatePessimisticFixpoint
- public isAtFixpoint
- public isValidState
Methods
¶State()
State()
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:757
¶State(llvm::AA::PointerInfo::State&& SIS)
State(llvm::AA::PointerInfo::State&& SIS)
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:758
Parameters
¶llvm::ChangeStatus addAccess(
llvm::Attributor& A,
int64_t Offset,
int64_t Size,
llvm::Instruction& I,
Optional<llvm::Value*> Content,
AAPointerInfo::AccessKind Kind,
llvm::Type* Ty,
llvm::Instruction* RemoteI = nullptr,
llvm::AA::PointerInfo::State::Accesses*
BinPtr = nullptr)
llvm::ChangeStatus addAccess(
llvm::Attributor& A,
int64_t Offset,
int64_t Size,
llvm::Instruction& I,
Optional<llvm::Value*> Content,
AAPointerInfo::AccessKind Kind,
llvm::Type* Ty,
llvm::Instruction* RemoteI = nullptr,
llvm::AA::PointerInfo::State::Accesses*
BinPtr = nullptr)
Description
Add a new access to the state at offset \p Offset and with size \p Size. The access is associated with \p I, writes \p Content (if anything), and is of kind \p Kind.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:862
Parameters
- llvm::Attributor& A
- int64_t Offset
- int64_t Size
- llvm::Instruction& I
- Optional<llvm::Value*> Content
- AAPointerInfo::AccessKind Kind
- llvm::Type* Ty
- llvm::Instruction* RemoteI = nullptr
- llvm::AA::PointerInfo::State::Accesses* BinPtr = nullptr
Returns
CHANGED, if the state changed, UNCHANGED otherwise.
¶AccessBinsTy::const_iterator begin() const
AccessBinsTy::const_iterator begin() const
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:851
¶AccessBinsTy::const_iterator end() const
AccessBinsTy::const_iterator end() const
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:852
¶bool forallInterferingAccesses(
AAPointerInfo::OffsetAndSize OAS,
function_ref<
bool(const AAPointerInfo::Access&, bool)>
CB) const
bool forallInterferingAccesses(
AAPointerInfo::OffsetAndSize OAS,
function_ref<
bool(const AAPointerInfo::Access&, bool)>
CB) const
Description
See AAPointerInfo::forallInterferingAccesses.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:888
Parameters
- AAPointerInfo::OffsetAndSize OAS
- function_ref<bool(const AAPointerInfo::Access&, bool)> CB
¶bool forallInterferingAccesses(
llvm::Instruction& I,
function_ref<
bool(const AAPointerInfo::Access&, bool)>
CB) const
bool forallInterferingAccesses(
llvm::Instruction& I,
function_ref<
bool(const AAPointerInfo::Access&, bool)>
CB) const
Description
See AAPointerInfo::forallInterferingAccesses.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:907
Parameters
- llvm::Instruction& I
- function_ref<bool(const AAPointerInfo::Access&, bool)> CB
¶const llvm::AA::PointerInfo::State& getAssumed()
const
const llvm::AA::PointerInfo::State& getAssumed()
const
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:762
¶static llvm::AA::PointerInfo::State getBestState(
const llvm::AA::PointerInfo::State& SIS)
static llvm::AA::PointerInfo::State getBestState(
const llvm::AA::PointerInfo::State& SIS)
Description
Return the best possible representable state.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:748
Parameters
- const llvm::AA::PointerInfo::State& SIS
¶static llvm::AA::PointerInfo::State getWorstState(
const llvm::AA::PointerInfo::State& SIS)
static llvm::AA::PointerInfo::State getWorstState(
const llvm::AA::PointerInfo::State& SIS)
Description
Return the worst possible representable state.
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:751
Parameters
- const llvm::AA::PointerInfo::State& SIS
¶llvm::ChangeStatus indicateOptimisticFixpoint()
llvm::ChangeStatus indicateOptimisticFixpoint()
Description
See AbstractState::indicateOptimisticFixpoint().
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:771
¶llvm::ChangeStatus indicatePessimisticFixpoint()
llvm::ChangeStatus indicatePessimisticFixpoint()
Description
See AbstractState::indicatePessimisticFixpoint().
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:777
¶bool isAtFixpoint() const
bool isAtFixpoint() const
Description
See AbstractState::isAtFixpoint().
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:768
¶bool isValidState() const
bool isValidState() const
Description
See AbstractState::isValidState().
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:765
¶~State()
~State()
Declared at: llvm/lib/Transforms/IPO/AttributorAttributes.cpp:741