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

Name

Description

MergeOptions

Struct to control some aspects related to merging constant ranges.

Member Functions

Name

Description

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

Name

Description

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

Name

Description

ConstVal [variant member]

Pointer to the known constant or not‐constant value.

Range [variant member]

Known integer constant range for this lattice element.

Created with MrDocs