36class AndersenWaveDiff;
void storeValue(const ValVar *pointer, const AbstractValue &val, const ICFGNode *node)
void updateAbstractValue(const ValVar *var, const AbstractValue &val, const ICFGNode *node)
Write a top-level variable's abstract value into abstractTrace[node].
Map< const ICFGNode *, AbstractState > & getTrace()
IntervalValue getGepByteOffset(const GepStmt *gep)
Compute the byte offset for a GepStmt.
AbstractState & getAbstractState(const ICFGNode *node)
Retrieve the abstract state for a given ICFG node. Asserts if absent.
u32_t getAllocaInstByteSize(const AddrStmt *addr)
Get the byte size of a stack allocation.
bool hasAbstractState(const ICFGNode *node)
Check if an abstract state exists for a given ICFG node.
bool hasAbstractValue(const ValVar *var, const ICFGNode *node) const
const AbstractValue & getAbstractValue(const ValVar *var, const ICFGNode *node)
AbstractState & operator[](const ICFGNode *node)
IntervalValue getGepElementIndex(const GepStmt *gep)
Compute the flattened element index for a GepStmt.
const ICFGNode * getDefSiteOfValVar(const ValVar *var) const
Given a ValVar, find its definition-site ICFGNode.
Set< const ICFGNode * > getUseSitesOfObjVar(const ObjVar *obj, const ICFGNode *node) const
Given an ObjVar and its use-site ICFGNode, find all downstream use-site ICFGNodes.
const ICFGNode * getDefSiteOfObjVar(const ObjVar *obj, const ICFGNode *node) const
Given an ObjVar and its use-site ICFGNode, find the definition-site ICFGNode.
AddressValue getGepObjAddrs(const ValVar *pointer, IntervalValue offset)
Compute GEP object addresses for a pointer at a given element offset.
AbstractValue loadValue(const ValVar *pointer, const ICFGNode *node)
const SVFType * getPointeeElement(const ObjVar *var, const ICFGNode *node)
Get the pointee type for a pointer variable.
Map< const ICFGNode *, AbstractState > abstractTrace
Set< const ICFGNode * > getUseSitesOfValVar(const ValVar *var) const
Given a ValVar, find all use-site ICFGNodes.
void updateAbstractState(const ICFGNode *node, const AbstractState &state)
llvm::IRBuilder IRBuilder