class ValueLatticeElement
Declaration
class ValueLatticeElement { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:26
Method Overview
- public ValueLatticeElement(const llvm::ValueLatticeElement & Other)
- public ValueLatticeElement()
- public Optional<llvm::APInt> asConstantInteger() const
- public static llvm::ValueLatticeElement get(llvm::Constant * C)
- public llvm::Constant * getCompare(CmpInst::Predicate Pred, llvm::Type * Ty, const llvm::ValueLatticeElement & Other) const
- public llvm::Constant * getConstant() const
- public llvm::ConstantInt * getConstantInt() const
- public const llvm::ConstantRange & getConstantRange() const
- public static llvm::ValueLatticeElement getNot(llvm::Constant * C)
- public llvm::Constant * getNotConstant() const
- public static llvm::ValueLatticeElement getOverdefined()
- public static llvm::ValueLatticeElement getRange(llvm::ConstantRange CR)
- public bool isConstant() const
- public bool isConstantRange() const
- public bool isNotConstant() const
- public bool isOverdefined() const
- public bool isUndefined() const
- public bool mergeIn(const llvm::ValueLatticeElement & RHS, const llvm::DataLayout & DL)
- public ~ValueLatticeElement()
Methods
¶ValueLatticeElement(
const llvm::ValueLatticeElement& Other)
ValueLatticeElement(
const llvm::ValueLatticeElement& Other)
Description
Custom copy constructor, to ensure Range gets initialized when copying a constant range lattice element.
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:82
Parameters
- const llvm::ValueLatticeElement& Other
¶ValueLatticeElement()
ValueLatticeElement()
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:63
¶Optional<llvm::APInt> asConstantInteger() const
Optional<llvm::APInt> asConstantInteger() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:164
¶static llvm::ValueLatticeElement get(
llvm::Constant* C)
static llvm::ValueLatticeElement get(
llvm::Constant* C)
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:119
Parameters
¶llvm::Constant* getCompare(
CmpInst::Predicate Pred,
llvm::Type* Ty,
const llvm::ValueLatticeElement& Other) const
llvm::Constant* getCompare(
CmpInst::Predicate Pred,
llvm::Type* Ty,
const llvm::ValueLatticeElement& Other) const
Description
Compares this symbolic value with Other using Pred and returns either true, false or undef constants, or nullptr if the comparison cannot be evaluated.
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:293
Parameters
- CmpInst::Predicate Pred
- llvm::Type* Ty
- const llvm::ValueLatticeElement& Other
¶llvm::Constant* getConstant() const
llvm::Constant* getConstant() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:148
¶llvm::ConstantInt* getConstantInt() const
llvm::ConstantInt* getConstantInt() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:284
¶const llvm::ConstantRange& getConstantRange()
const
const llvm::ConstantRange& getConstantRange()
const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:158
¶static llvm::ValueLatticeElement getNot(
llvm::Constant* C)
static llvm::ValueLatticeElement getNot(
llvm::Constant* C)
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:125
Parameters
¶llvm::Constant* getNotConstant() const
llvm::Constant* getNotConstant() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:153
¶static llvm::ValueLatticeElement getOverdefined()
static llvm::ValueLatticeElement getOverdefined()
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:136
¶static llvm::ValueLatticeElement getRange(
llvm::ConstantRange CR)
static llvm::ValueLatticeElement getRange(
llvm::ConstantRange CR)
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:131
Parameters
¶bool isConstant() const
bool isConstant() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:143
¶bool isConstantRange() const
bool isConstantRange() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:145
¶bool isNotConstant() const
bool isNotConstant() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:144
¶bool isOverdefined() const
bool isOverdefined() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:146
¶bool isUndefined() const
bool isUndefined() const
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:142
¶bool mergeIn(const llvm::ValueLatticeElement& RHS,
const llvm::DataLayout& DL)
bool mergeIn(const llvm::ValueLatticeElement& RHS,
const llvm::DataLayout& DL)
Description
Updates this object to approximate both this object and RHS. Returns true if this object has been changed.
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:240
Parameters
- const llvm::ValueLatticeElement& RHS
- const llvm::DataLayout& DL
¶~ValueLatticeElement()
~ValueLatticeElement()
Description
Custom destructor to ensure Range is properly destroyed, when the object is deallocated.
Declared at: llvm/include/llvm/Analysis/ValueLattice.h:67