35 : svfir(pag), icfg(icfg)
62 if (
it->second->getInEdges().empty())
64 for (
auto inEdge:
it->second->getInEdges())
static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)
Create an singleton instance directly instead of invoking llvm pass manager.
virtual const FunObjVar * getFunction() const
Get containing function, or null for globals/constants.
bool isDeclaration() const
iterator begin()
Iterators.
NodeType * getGNode(NodeID id) const
Get a node.
FunEntryICFGNode * getFunEntryICFGNode(const FunObjVar *fun)
Add a function entry node.
CallGraph * getCallGraph() const
Return call graph.
CallGraphSCC * getCallGraphSCC() const
Return call graph SCC.
Map< const FunObjVar *, const ICFGWTO * > funcToWTO
CallGraphSCC * callGraphSCC
void initWTO()
Build WTO for each function using call graph SCC.
PreAnalysis(SVFIR *pag, ICFG *icfg)
llvm::IRBuilder IRBuilder