struct AAUndefinedBehavior
Declaration
struct AAUndefinedBehavior : public StateWrapper { /* full declaration omitted */ };
Description
An abstract attribute for undefined behavior.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3272
Inherits from: StateWrapper
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAUndefinedBehavior(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAUndefinedBehavior & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- public bool isAssumedToCauseUB() const
- public virtual bool isAssumedToCauseUB(llvm::Instruction * I) const
- public bool isKnownToCauseUB() const
- public virtual bool isKnownToCauseUB(llvm::Instruction * I) const
Methods
¶AAUndefinedBehavior(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAUndefinedBehavior(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3275
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 AAUndefineBehavior
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3301
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAUndefinedBehavior&
createForPosition(const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAUndefinedBehavior&
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:3290
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:3297
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3294
¶bool isAssumedToCauseUB() const
bool isAssumedToCauseUB() const
Description
Return true if "undefined behavior" is assumed.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3278
¶virtual bool isAssumedToCauseUB(
llvm::Instruction* I) const
virtual bool isAssumedToCauseUB(
llvm::Instruction* I) const
Description
Return true if "undefined behavior" is assumed for a specific instruction.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3281
Parameters
¶bool isKnownToCauseUB() const
bool isKnownToCauseUB() const
Description
Return true if "undefined behavior" is known.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3284
¶virtual bool isKnownToCauseUB(
llvm::Instruction* I) const
virtual bool isKnownToCauseUB(
llvm::Instruction* I) const
Description
Return true if "undefined behavior" is known for a specific instruction.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3287