struct AAValueConstantRange
Declaration
struct AAValueConstantRange : public StateWrapper { /* full declaration omitted */ };
Description
An abstract interface for range value analysis.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4286
Inherits from: StateWrapper
Member Variables
- public static const char ID
- Unique ID (due to the unique address)
Method Overview
- public AAValueConstantRange(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public static bool classof(const llvm::AbstractAttribute * AA)
- public static llvm::AAValueConstantRange & createForPosition(const llvm::IRPosition & IRP, llvm::Attributor & A)
- public Optional<llvm::Constant *> getAssumedConstant(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
- public virtual llvm::ConstantRange getAssumedConstantRange(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
- public const char * getIdAddr() const
- public virtual llvm::ConstantRange getKnownConstantRange(llvm::Attributor & A, const llvm::Instruction * CtxI = nullptr) const
- public const std::string getName() const
- public llvm::IntegerRangeState & getState()
- public const llvm::IntegerRangeState & getState() const
Methods
¶AAValueConstantRange(const llvm::IRPosition& IRP,
llvm::Attributor& A)
AAValueConstantRange(const llvm::IRPosition& IRP,
llvm::Attributor& A)
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4289
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 AAValueConstantRange
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4335
Parameters
- const llvm::AbstractAttribute* AA
¶static llvm::AAValueConstantRange&
createForPosition(const llvm::IRPosition& IRP,
llvm::Attributor& A)
static llvm::AAValueConstantRange&
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:4297
Parameters
- const llvm::IRPosition& IRP
- llvm::Attributor& A
¶Optional<llvm::Constant*> getAssumedConstant(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
Optional<llvm::Constant*> getAssumedConstant(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
Description
Return an assumed constant for the associated value a program point \p CtxI.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4315
Parameters
- llvm::Attributor& A
- const llvm::Instruction* CtxI = nullptr
¶virtual llvm::ConstantRange
getAssumedConstantRange(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
virtual llvm::ConstantRange
getAssumedConstantRange(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
Description
Return an assumed range for the associated value a program point \p CtxI. If \p I is nullptr, simply return an assumed range.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4303
Parameters
- llvm::Attributor& A
- const llvm::Instruction* CtxI = nullptr
¶const char* getIdAddr() const
const char* getIdAddr() const
Description
See AbstractAttribute::getIdAddr()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4331
¶virtual llvm::ConstantRange getKnownConstantRange(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
virtual llvm::ConstantRange getKnownConstantRange(
llvm::Attributor& A,
const llvm::Instruction* CtxI = nullptr) const
Description
Return a known range for the associated value at a program point \p CtxI. If \p I is nullptr, simply return a known range.
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4309
Parameters
- llvm::Attributor& A
- const llvm::Instruction* CtxI = nullptr
¶const std::string getName() const
const std::string getName() const
Description
See AbstractAttribute::getName()
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4328
¶llvm::IntegerRangeState& getState()
llvm::IntegerRangeState& getState()
Description
See AbstractAttribute::getState(...).
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4293
¶const llvm::IntegerRangeState& getState() const
const llvm::IntegerRangeState& getState() const
Description
See AbstractAttribute::getState(...).
Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:4294