struct AAIsDead
Declaration
struct AAIsDead : public StateWrapper { /* full declaration omitted */ };
Description
An abstract interface for liveness abstract attribute.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3445
Inherits from: StateWrapper
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAIsDead(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAIsDead & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- protected virtual bool isAssumedDead() const
- protected virtual bool isAssumedDead(const llvm::BasicBlock * BB) const
- protected virtual bool isAssumedDead(const llvm::Instruction * I) const
- public virtual bool isEdgeDead(const llvm::BasicBlock * From, const llvm::BasicBlock * To) const
- protected virtual bool isKnownDead() const
- protected virtual bool isKnownDead(const llvm::BasicBlock * BB) const
- protected virtual bool isKnownDead(const llvm::Instruction * I) const
- protected template <typename T>bool isLiveInstSet(T begin, T end) const
- protected virtual bool isRemovableStore() const
- public static bool mayCatchAsynchronousExceptions(const llvm::Function & F)
Methods
¶AAIsDead(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAIsDead(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3448
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 AAIsDead
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3523
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAIsDead& createForPosition(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAIsDead& 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:3503
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:3520
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3517
¶virtual bool isAssumedDead() const
virtual bool isAssumedDead() const
Description
Returns true if the underlying value is assumed dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3464
¶virtual bool isAssumedDead(
const llvm::BasicBlock* BB) const
virtual bool isAssumedDead(
const llvm::BasicBlock* BB) const
Description
Returns true if \p BB is assumed dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3470
Parameters
- const llvm::BasicBlock* BB
¶virtual bool isAssumedDead(
const llvm::Instruction* I) const
virtual bool isAssumedDead(
const llvm::Instruction* I) const
Description
Returns true if \p I is assumed dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3476
Parameters
- const llvm::Instruction* I
¶virtual bool isEdgeDead(
const llvm::BasicBlock* From,
const llvm::BasicBlock* To) const
virtual bool isEdgeDead(
const llvm::BasicBlock* From,
const llvm::BasicBlock* To) const
Description
Return if the edge from \p From BB to \p To BB is assumed dead. This is specifically useful in AAReachability.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3512
Parameters
- const llvm::BasicBlock* From
- const llvm::BasicBlock* To
¶virtual bool isKnownDead() const
virtual bool isKnownDead() const
Description
Returns true if the underlying value is known dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3467
¶virtual bool isKnownDead(
const llvm::BasicBlock* BB) const
virtual bool isKnownDead(
const llvm::BasicBlock* BB) const
Description
Returns true if \p BB is known dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3473
Parameters
- const llvm::BasicBlock* BB
¶virtual bool isKnownDead(
const llvm::Instruction* I) const
virtual bool isKnownDead(
const llvm::Instruction* I) const
Description
Returns true if \p I is known dead.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3479
Parameters
- const llvm::Instruction* I
¶template <typename T>
bool isLiveInstSet(T begin, T end) const
template <typename T>
bool isLiveInstSet(T begin, T end) const
Description
This method is used to check if at least one instruction in a collection of instructions is live.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3489
Templates
- T
Parameters
- T begin
- T end
¶virtual bool isRemovableStore() const
virtual bool isRemovableStore() const
Description
Return true if the underlying value is a store that is known to be removable. This is different from dead stores as the removable store can have an effect on live values, especially loads, but that effect is propagated which allows us to remove the store in turn.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3485
¶static bool mayCatchAsynchronousExceptions(
const llvm::Function& F)
static bool mayCatchAsynchronousExceptions(
const llvm::Function& F)
Description
Determine if \p F might catch asynchronous exceptions.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3506
Parameters
- const llvm::Function& F