|
Static Value-Flow Analysis
|
#include <AEWTO.h>
Public Types | |
| typedef SCCDetection< CallGraph * > | CallGraphSCC |
Public Member Functions | |
| AEWTO (SVFIR *pag, ICFG *icfg) | |
| virtual | ~AEWTO () |
| AndersenWaveDiff * | getPointerAnalysis () const |
| Accessors for Andersen's results. | |
| CallGraph * | getCallGraph () const |
| CallGraphSCC * | getCallGraphSCC () const |
| void | initWTO () |
| Build WTO for each function using call graph SCC. | |
| const Map< const FunObjVar *, const ICFGWTO * > & | getFuncToWTO () const |
| Accessors for WTO data. | |
| void | initCycleValVars () |
| const Set< const ValVar * > | getCycleValVars (const ICFGCycleWTO *cycle) const |
Private Attributes | |
| SVFIR * | svfir |
| ICFG * | icfg |
| AndersenWaveDiff * | pta |
| CallGraph * | callGraph |
| CallGraphSCC * | callGraphSCC |
| Map< const FunObjVar *, const ICFGWTO * > | funcToWTO |
| Map< const ICFGCycleWTO *, Set< const ValVar * > > | cycleToValVars |
Definition at line 37 of file AEWTO.cpp.
|
inline |
|
inline |
Look up the ValVar id set of a WTO cycle. Returns nullptr if the cycle is unknown (e.g. dense mode, where the map is never built).
|
inline |
| void AEWTO::initCycleValVars | ( | ) |
Walk every function's WTO and populate cycleToValVars bottom-up. Called once right after initWTO(). No-op in dense mode.
Definition at line 98 of file AEWTO.cpp.
| void AEWTO::initWTO | ( | ) |
Build WTO for each function using call graph SCC.
Definition at line 51 of file AEWTO.cpp.
|
private |
|
private |