struct AAInstanceInfo
Declaration
struct AAInstanceInfo : public StateWrapper { /* full declaration omitted */ };
Description
An abstract interface to track if a value leaves it's defining function instance. TODO: We should make it a ternary AA tracking uniqueness, and uniqueness wrt. the Attributor analysis separately.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3769
Inherits from: StateWrapper
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAInstanceInfo(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAInstanceInfo & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public const char * getIdAddr() const
- public const std::string getName() const
- public bool isAssumedUniqueForAnalysis() const
- public bool isKnownUniqueForAnalysis() const
Methods
¶AAInstanceInfo(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAInstanceInfo(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3770
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 AAInstanceInfo
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3797
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAInstanceInfo& createForPosition(
const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAInstanceInfo& 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:3786
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:3793
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3790
¶bool isAssumedUniqueForAnalysis() const
bool isAssumedUniqueForAnalysis() const
Description
Return true if we assume that the underlying value is unique in its scope wrt. the Attributor analysis. That means it might not be unique but we can still use pointer equality without risking to represent two instances with one `llvm::Value`.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3783
¶bool isKnownUniqueForAnalysis() const
bool isKnownUniqueForAnalysis() const
Description
Return true if we know that the underlying value is unique in its scope wrt. the Attributor analysis. That means it might not be unique but we can still use pointer equality without risking to represent two instances with one `llvm::Value`.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:3777