struct AANoSync
Declaration
struct AANoSync : public IRAttribute { /* full declaration omitted */ };
Description
Helper class that provides common functionality to manifest IR attributes.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3144
Inherits from: IRAttribute
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AANoSync(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AANoSync & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- public bool isAssumedNoSync() const
- public bool isKnownNoSync() const
- public static bool isNoSyncIntrinsic(const llvm::Instruction * I)
- public static bool isNonRelaxedAtomic(const llvm::Instruction * I)
Methods
¶AANoSync(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AANoSync(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3147
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 AANoSync
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3173
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AANoSync& createForPosition(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AANoSync& 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:3164
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:3170
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3167
¶bool isAssumedNoSync() const
bool isAssumedNoSync() const
Description
Returns true if "nosync" is assumed.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3150
¶bool isKnownNoSync() const
bool isKnownNoSync() const
Description
Returns true if "nosync" is known.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3153
¶static bool isNoSyncIntrinsic(
const llvm::Instruction* I)
static bool isNoSyncIntrinsic(
const llvm::Instruction* I)
Description
Helper function specific for intrinsics which are potentially volatile.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3161
Parameters
- const llvm::Instruction* I
¶static bool isNonRelaxedAtomic(
const llvm::Instruction* I)
static bool isNonRelaxedAtomic(
const llvm::Instruction* I)
Description
Helper function used to determine whether an instruction is non-relaxed atomic. In other words, if an atomic instruction does not have unordered or monotonic ordering
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3158
Parameters
- const llvm::Instruction* I