VTablePtrToCallSiteMap vtableToCallSiteMap
OrderedMap< NodeID, const CallICFGNode * > VTablePtrToCallSiteMap
virtual OrderedNodeSet & collectCandidateQueries(SVFIR *pag)
Only collect function pointers as query candidates.
OrderedSet< const PAGNode * > PAGNodeSet
virtual void performStat(PointerAnalysis *pta)
AliasDDAClient(SVFModule *module)
DDAClient(SVFModule *mod)
SVFModule *NodeID curPtr
< LLVM module
void setPAG(SVFIR *g)
Set SVFIR graph.
OrderedNodeSet userInput
User input queries.
virtual void answerQueries(PointerAnalysis *pta)
void setQuery(NodeID ptr)
Set pointer to be queried by DDA analysis.
void setCurrentQueryPtr(NodeID ptr)
Set the pointer being queried.
virtual void initialise(SVFModule *)
SVFIR * pag
SVFIR graph used by current DDA analysis.
SVFModule * getModule() const
Get LLVM module.
const OrderedNodeSet & getCandidateQueries() const
Get candidate queries.
virtual void collectWPANum(SVFModule *)
void addCandidate(NodeID id)
OrderedNodeSet candidateQueries
store all candidate pointers to be queried
bool solveAll
TRUE if all top level pointers are being queried.
virtual OrderedNodeSet & collectCandidateQueries(SVFIR *p)
Collect candidate pointers for query.
virtual void handleStatement(const SVFGNode *, NodeID)
Call back used by DDAVFSolver.
virtual void performStat(PointerAnalysis *)
VTablePtrToCallSiteMap vtableToCallSiteMap
FunptrDDAClient(SVFModule *module)
virtual OrderedNodeSet & collectCandidateQueries(SVFIR *p)
Only collect function pointers as query candidates.
virtual void performStat(PointerAnalysis *pta)
OrderedMap< NodeID, const CallICFGNode * > VTablePtrToCallSiteMap
NodeType * getGNode(NodeID id) const
Get a node.
bool isValidTopLevelPtr(const SVFVar *node)
OrderedNodeSet & getAllValidPtrs()
Return valid pointers.
OrderedSet< NodeID > OrderedNodeSet
llvm::IRBuilder IRBuilder