llvm::ValueLatticeElement

This class represents lattice values for constants.

Synopsis

Declared in <llvm/Analysis/ValueLattice.h>

class ValueLatticeElement;

Description

FIXME: This is basically just for bringup, this can be made a lot more rich in the future.

Types

NameDescription
MergeOptions Struct to control some aspects related to merging constant ranges.

Member Functions

NameDescription
ValueLatticeElement [constructor]Constructors
~ValueLatticeElement [destructor]Destroy the lattice element and any owned range.
operator= Assignment operators
asConstantInteger Return this value as a constant integer if it is one.
asConstantRange asConstantRange overloads
getCompare Compare this symbolic value with Other using Pred.
getConstant Return the known constant value.
getConstantRange Return the constant range for this value.
getNotConstant Return the constant this value is known not to equal.
getNumRangeExtensions Return the number of constant-range extensions performed.
intersect Combine two sets of facts about the same value into one.
isConstant Return true if this lattice element is a specific constant.
isConstantRange Return true if this value is a constant range.
isConstantRangeIncludingUndef Return true if this is a constant range that may also be undef.
isNotConstant Return true if this lattice element is a not-constant value.
isOverdefined Return true if this lattice element is overdefined.
isUndef Return true if this lattice element is undef.
isUnknown Return true if this lattice element is unknown.
isUnknownOrUndef Return true if this lattice element is unknown or undef.
markConstant Mark this lattice element as constant V.
markConstantRange Mark this lattice element as constant range NewR.
markNotConstant Mark this lattice element as not equal to constant V.
markOverdefined Mark this lattice element as overdefined.
markUndef Mark this lattice element as undef.
mayHaveDifferentProvenance Return whether this constant may have different provenance.
mergeIn Updates this object to approximate both this object and RHS. Returns true if this object has been changed.
setMayHaveDifferentProvenance Set whether this constant may have different provenance.
setNumRangeExtensions Set the number of constant-range extensions.

Static Member Functions

NameDescription
get Create a lattice element for constant C.
getNot Create a lattice element for a value known not equal to C.
getOverdefined Create an overdefined lattice element.
getRange Create a lattice element for constant range CR.

Data Members

NameDescription
ConstVal [variant member]Pointer to the known constant or not-constant value.
Range [variant member]Known integer constant range for this lattice element.