class ValueLatticeElement

Declaration

class ValueLatticeElement { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:26

Method Overview

Methods

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()

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:63

Optional<llvm::APInt> asConstantInteger() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:164

static llvm::ValueLatticeElement get(
    llvm::Constant* C)

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:119

Parameters

llvm::Constant* C

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

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:148

llvm::ConstantInt* getConstantInt() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:284

const llvm::ConstantRange& getConstantRange()
    const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:158

static llvm::ValueLatticeElement getNot(
    llvm::Constant* C)

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:125

Parameters

llvm::Constant* C

llvm::Constant* getNotConstant() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:153

static llvm::ValueLatticeElement getOverdefined()

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:136

static llvm::ValueLatticeElement getRange(
    llvm::ConstantRange CR)

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:131

Parameters

llvm::ConstantRange CR

bool isConstant() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:143

bool isConstantRange() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:145

bool isNotConstant() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:144

bool isOverdefined() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:146

bool isUndefined() const

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:142

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()

Description

Custom destructor to ensure Range is properly destroyed, when the object is deallocated.

Declared at: llvm/include/llvm/Analysis/ValueLattice.h:67