struct AAMemoryBehavior
Declaration
struct AAMemoryBehavior : public IRAttribute { /* full declaration omitted */ };
Description
An abstract interface for memory access kind related attributes (readnone/readonly/writeonly).
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4054
Inherits from: IRAttribute
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAMemoryBehavior(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAMemoryBehavior & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- public bool isAssumedReadNone() const
- public bool isAssumedReadOnly() const
- public bool isAssumedWriteOnly() const
- public bool isKnownReadNone() const
- public bool isKnownReadOnly() const
- public bool isKnownWriteOnly() const
Methods
¶AAMemoryBehavior(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAMemoryBehavior(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4058
Parameters
- const llvm::IRPosition& IRP
- llvm::Attributor& A
¶static bool classof(
const llvm::AbstractAttribute* AA)
static bool classof(
const llvm::AbstractAttribute* AA)
Description
This function should return true if the type of the \p AA is AAMemoryBehavior
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4107
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAMemoryBehavior& createForPosition(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAMemoryBehavior& createForPosition(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
Description
Create an abstract attribute view for the position \p IRP.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4096
Parameters
- const llvm::IRPosition& IRP
- llvm::Attributor& A
¶const char* getIdAddr() const
const char* getIdAddr() const
Description
See AbstractAttribute::getIdAddr()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4103
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4100
¶bool isAssumedReadNone() const
bool isAssumedReadNone() const
Description
Return true if we assume that the underlying value is not read or accessed in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4077
¶bool isAssumedReadOnly() const
bool isAssumedReadOnly() const
Description
Return true if we assume that the underlying value is not accessed (=written) in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4085
¶bool isAssumedWriteOnly() const
bool isAssumedWriteOnly() const
Description
Return true if we assume that the underlying value is not read in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4093
¶bool isKnownReadNone() const
bool isKnownReadNone() const
Description
Return true if we know that the underlying value is not read or accessed in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4073
¶bool isKnownReadOnly() const
bool isKnownReadOnly() const
Description
Return true if we know that the underlying value is not accessed (=written) in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4081
¶bool isKnownWriteOnly() const
bool isKnownWriteOnly() const
Description
Return true if we know that the underlying value is not read in its respective scope.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4089