struct AAFunctionReachability
Declaration
struct AAFunctionReachability : public StateWrapper { /* full declaration omitted */ };
Description
An abstract Attribute for computing reachability between functions.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4864
Inherits from: StateWrapper
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAFunctionReachability(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public virtual bool canReach(llvm::Attributor & A, const llvm::Function & Fn) const
- public virtual bool canReach(llvm::Attributor & A, llvm::CallBase & CB, const llvm::Function & Fn) const
- private virtual bool canReachUnknownCallee() const
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAFunctionReachability & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- public virtual bool instructionCanReach(llvm::Attributor & A, const llvm::Instruction & Inst, const llvm::Function & Fn) const
- public bool isQueryAA() const
Methods
¶AAFunctionReachability(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAFunctionReachability(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4868
Parameters
- const llvm::IRPosition& IRP
- llvm::Attributor& A
¶virtual bool canReach(
llvm::Attributor& A,
const llvm::Function& Fn) const
virtual bool canReach(
llvm::Attributor& A,
const llvm::Function& Fn) const
Description
If the function represented by this possition can reach \p Fn.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4874
Parameters
- llvm::Attributor& A
- const llvm::Function& Fn
¶virtual bool canReach(
llvm::Attributor& A,
llvm::CallBase& CB,
const llvm::Function& Fn) const
virtual bool canReach(
llvm::Attributor& A,
llvm::CallBase& CB,
const llvm::Function& Fn) const
Description
Can \p CB reach \p Fn.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4877
Parameters
- llvm::Attributor& A
- llvm::CallBase& CB
- const llvm::Function& Fn
¶virtual bool canReachUnknownCallee() const
virtual bool canReachUnknownCallee() const
Description
Can this function reach a call with unknown calee.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4907
¶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 AACallEdges.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4898
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAFunctionReachability&
createForPosition(const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAFunctionReachability&
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:4886
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:4895
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4890
¶virtual bool instructionCanReach(
llvm::Attributor& A,
const llvm::Instruction& Inst,
const llvm::Function& Fn) const
virtual bool instructionCanReach(
llvm::Attributor& A,
const llvm::Instruction& Inst,
const llvm::Function& Fn) const
Description
Can \p Inst reach \p Fn. See also AA::isPotentiallyReachable.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4882
Parameters
- llvm::Attributor& A
- const llvm::Instruction& Inst
- const llvm::Function& Fn
¶bool isQueryAA() const
bool isQueryAA() const
Description
See AbstractAttribute::isQueryAA.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4871