struct AAPointerInfo::Access

Declaration

struct AAPointerInfo::Access { /* full declaration omitted */ };

Description

An access description.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4934

Member Variables

private llvm::Instruction* LocalI
The instruction responsible for the access with respect to the local scope of the associated attribute.
private llvm::Instruction* RemoteI
The instruction responsible for the access.
private Optional<llvm::Value*> Content
The value written, if any. `llvm::none` means "not known yet", `nullptr` cannot be determined.
private llvm::AAPointerInfo::AccessKind Kind
The access kind, e.g., READ, as bitset (could be more than one).
private llvm::Type* Ty
The type of the content, thus the type read/written, can be null if not available.

Method Overview

Methods

Access(llvm::Instruction* LocalI,
       llvm::Instruction* RemoteI,
       Optional<llvm::Value*> Content,
       llvm::AAPointerInfo::AccessKind Kind,
       llvm::Type* Ty)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4939

Parameters

llvm::Instruction* LocalI
llvm::Instruction* RemoteI
Optional<llvm::Value*> Content
llvm::AAPointerInfo::AccessKind Kind
llvm::Type* Ty

Access(const llvm::AAPointerInfo::Access& Other)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4945

Parameters

const llvm::AAPointerInfo::Access& Other

Access(const llvm::AAPointerInfo::Access&& Other)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4946

Parameters

const llvm::AAPointerInfo::Access&& Other

Access(llvm::Instruction* I,
       Optional<llvm::Value*> Content,
       llvm::AAPointerInfo::AccessKind Kind,
       llvm::Type* Ty)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4935

Parameters

llvm::Instruction* I
Optional<llvm::Value*> Content
llvm::AAPointerInfo::AccessKind Kind
llvm::Type* Ty

Optional<llvm::Value*> getContent() const

Description

Return the written value which can be `llvm::null` if it is not yet determined.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:5007

llvm::AAPointerInfo::AccessKind getKind() const

Description

Return the access kind.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4971

llvm::Instruction* getLocalInst() const

Description

Return the instruction that causes the access with respect to the local scope of the associated attribute.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4984

llvm::Instruction* getRemoteInst() const

Description

Return the actual instruction that causes the access.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4987

llvm::Type* getType() const

Description

Return the type associated with the access, if known.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4998

llvm::Value* getWrittenValue() const

Description

Return the value writen, if any. As long as isWrittenValueYetUndetermined return true this function shall not be called.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:5003

bool isMayAccess() const

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4980

bool isMustAccess() const

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4979

bool isRead() const

Description

Return true if this is a read access.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4974

bool isWrite() const

Description

Return true if this is a write access.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4977

bool isWrittenValueUnknown() const

Description

Return true if the value written cannot be determined at all.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4993

bool isWrittenValueYetUndetermined() const

Description

Return true if the value written is not known yet.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4990

void verify()

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4965