svf-tools 1.0.533 → 1.0.536
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -6
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/DCHG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +43 -36
- package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -0
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +80 -69
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +80 -0
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +62 -22
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -10
- package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +0 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +60 -62
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +17 -18
- package/SVF-doxygen/html/html/annotated.html +2 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +12 -13
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +175 -176
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +160 -208
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +19 -17
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +230 -141
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation-members.html +88 -0
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +344 -0
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +240 -241
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +230 -231
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +63 -64
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +306 -348
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +187 -188
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +179 -180
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -3
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +281 -282
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +31 -32
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +1 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +42 -43
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +38 -39
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +29 -30
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +51 -86
- package/SVF-doxygen/html/html/classes.html +90 -90
- package/SVF-doxygen/html/html/functions_a.html +8 -5
- package/SVF-doxygen/html/html/functions_c.html +19 -20
- package/SVF-doxygen/html/html/functions_e.html +4 -7
- package/SVF-doxygen/html/html/functions_eval_e.html +2 -5
- package/SVF-doxygen/html/html/functions_func_c.html +12 -13
- package/SVF-doxygen/html/html/functions_func_g.html +23 -11
- package/SVF-doxygen/html/html/functions_func_m.html +0 -1
- package/SVF-doxygen/html/html/functions_func_o.html +7 -4
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +11 -5
- package/SVF-doxygen/html/html/functions_g.html +21 -9
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +0 -1
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +21 -19
- package/SVF-doxygen/html/html/functions_p.html +7 -9
- package/SVF-doxygen/html/html/functions_r.html +4 -2
- package/SVF-doxygen/html/html/functions_s.html +22 -18
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_a.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/hierarchy.html +99 -98
- package/SVF-doxygen/html/html/namespaceSVF.html +741 -21
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +3 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -1
- package/SVF-doxygen/html/html/namespacemembers.html +33 -0
- package/SVF-doxygen/html/html/namespacemembers_b.html +5 -2
- package/SVF-doxygen/html/html/namespacemembers_c.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_d.html +19 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +15 -3
- package/SVF-doxygen/html/html/namespacemembers_i.html +16 -4
- package/SVF-doxygen/html/html/namespacemembers_m.html +21 -0
- package/SVF-doxygen/html/html/namespacemembers_n.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_p.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type.html +33 -0
- package/SVF-doxygen/html/html/namespacemembers_type_b.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_c.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_type_d.html +18 -0
- package/SVF-doxygen/html/html/namespacemembers_type_g.html +12 -0
- package/SVF-doxygen/html/html/namespacemembers_type_i.html +12 -0
- package/SVF-doxygen/html/html/namespacemembers_type_m.html +21 -0
- package/SVF-doxygen/html/html/namespacemembers_type_n.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_p.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_v.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_w.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
- package/SVF-doxygen/html/html/search/all_1.js +12 -0
- package/SVF-doxygen/html/html/search/all_10.js +8 -7
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +12 -9
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +4 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +4 -2
- package/SVF-doxygen/html/html/search/all_4.js +6 -0
- package/SVF-doxygen/html/html/search/all_5.js +1 -2
- package/SVF-doxygen/html/html/search/all_7.js +9 -1
- package/SVF-doxygen/html/html/search/all_9.js +5 -1
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +8 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -1
- package/SVF-doxygen/html/html/search/all_f.js +3 -2
- package/SVF-doxygen/html/html/search/classes_c.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_4.js +1 -2
- package/SVF-doxygen/html/html/search/functions_11.js +2 -0
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +5 -1
- package/SVF-doxygen/html/html/search/functions_c.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -0
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +11 -0
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_2.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_3.js +6 -0
- package/SVF-doxygen/html/html/search/typedefs_6.js +4 -0
- package/SVF-doxygen/html/html/search/typedefs_7.js +4 -0
- package/SVF-doxygen/html/html/search/typedefs_b.js +7 -0
- package/SVF-doxygen/html/html/search/typedefs_c.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
- package/SVF-doxygen/html/html/search/variables_1.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_f.js +1 -0
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/SVF-FE/BasicTypes.h +43 -0
- package/include/SVF-FE/SVFIRBuilder.h +0 -2
- package/include/Util/ExtAPI.h +49 -5
- package/include/Util/ExtAPI.json +1312 -320
- package/include/WPA/Andersen.h +1 -4
- package/include/WPA/WPASolver.h +1 -3
- package/lib/SVF-FE/SVFIRBuilder.cpp +219 -238
- package/lib/Util/ExtAPI.cpp +109 -0
- package/lib/WPA/AndersenWaveDiff.cpp +0 -14
- package/package.json +1 -1
|
@@ -156,10 +156,8 @@ Protected Member Functions</h2></td></tr>
|
|
|
156
156
|
<tr class="memitem:abd7fd785e70f66d394088101d78598ca"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">processNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
|
|
157
157
|
<tr class="memdesc:abd7fd785e70f66d394088101d78598ca"><td class="mdescLeft"> </td><td class="mdescRight">Following methods are to be implemented in child class, in order to achieve a fully worked PTA. <a href="#abd7fd785e70f66d394088101d78598ca">More...</a><br /></td></tr>
|
|
158
158
|
<tr class="separator:abd7fd785e70f66d394088101d78598ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
159
|
-
<tr class="memitem:a138b403af0370ad6fdf8cc6af0530392"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a138b403af0370ad6fdf8cc6af0530392">collapsePWCNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
|
|
160
|
-
<tr class="memdesc:a138b403af0370ad6fdf8cc6af0530392"><td class="mdescLeft"> </td><td class="mdescRight">collapse positive weight cycles of a graph <a href="#a138b403af0370ad6fdf8cc6af0530392">More...</a><br /></td></tr>
|
|
161
|
-
<tr class="separator:a138b403af0370ad6fdf8cc6af0530392"><td class="memSeparator" colspan="2"> </td></tr>
|
|
162
159
|
<tr class="memitem:a79c2b3f10f3f813396d8caaa1f7bc62a"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">collapseFields</a> ()</td></tr>
|
|
160
|
+
<tr class="memdesc:a79c2b3f10f3f813396d8caaa1f7bc62a"><td class="mdescLeft"> </td><td class="mdescRight">collapse positive weight cycles of a graph <a href="#a79c2b3f10f3f813396d8caaa1f7bc62a">More...</a><br /></td></tr>
|
|
163
161
|
<tr class="separator:a79c2b3f10f3f813396d8caaa1f7bc62a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
164
162
|
<tr class="memitem:a541ef7fda44ce79086c30b07a5f6126c"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">propagate</a> (<a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> *v)</td></tr>
|
|
165
163
|
<tr class="separator:a541ef7fda44ce79086c30b07a5f6126c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -341,11 +339,11 @@ template<class GraphType> </div>
|
|
|
341
339
|
<p>Constructor. </p>
|
|
342
340
|
|
|
343
341
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00060">60</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
344
|
-
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  : <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>(<span class="keyword">false</span>), <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>(1000), <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>(0)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
345
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
346
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
347
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
348
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
342
|
+
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  : <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>(<span class="keyword">false</span>), <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>(1000), <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>(0)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00175">WPASolver.h:175</a></div></div>
|
|
343
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00204">WPASolver.h:204</a></div></div>
|
|
344
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00197">WPASolver.h:197</a></div></div>
|
|
345
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00194">WPASolver.h:194</a></div></div>
|
|
346
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00177">WPASolver.h:177</a></div></div>
|
|
349
347
|
</div><!-- fragment -->
|
|
350
348
|
</div>
|
|
351
349
|
</div>
|
|
@@ -377,7 +375,7 @@ template<class GraphType> </div>
|
|
|
377
375
|
<p>Destructor. </p>
|
|
378
376
|
|
|
379
377
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00064">64</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
380
|
-
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
378
|
+
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00197">WPASolver.h:197</a></div></div>
|
|
381
379
|
</div><!-- fragment -->
|
|
382
380
|
</div>
|
|
383
381
|
</div>
|
|
@@ -407,44 +405,12 @@ template<class GraphType> </div>
|
|
|
407
405
|
</table>
|
|
408
406
|
</div><div class="memdoc">
|
|
409
407
|
|
|
410
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen</a>.</p>
|
|
411
|
-
|
|
412
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00130">130</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
413
|
-
<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> {};</div></div><!-- fragment -->
|
|
414
|
-
</div>
|
|
415
|
-
</div>
|
|
416
|
-
<a id="a138b403af0370ad6fdf8cc6af0530392"></a>
|
|
417
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a138b403af0370ad6fdf8cc6af0530392">◆ </a></span>collapsePWCNode()</h2>
|
|
418
|
-
|
|
419
|
-
<div class="memitem">
|
|
420
|
-
<div class="memproto">
|
|
421
|
-
<div class="memtemplate">
|
|
422
|
-
template<class GraphType> </div>
|
|
423
|
-
<table class="mlabels">
|
|
424
|
-
<tr>
|
|
425
|
-
<td class="mlabels-left">
|
|
426
|
-
<table class="memname">
|
|
427
|
-
<tr>
|
|
428
|
-
<td class="memname">virtual void <a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver</a>< GraphType >::collapsePWCNode </td>
|
|
429
|
-
<td>(</td>
|
|
430
|
-
<td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td>
|
|
431
|
-
<td class="paramname"></td><td>)</td>
|
|
432
|
-
<td></td>
|
|
433
|
-
</tr>
|
|
434
|
-
</table>
|
|
435
|
-
</td>
|
|
436
|
-
<td class="mlabels-right">
|
|
437
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
|
|
438
|
-
</tr>
|
|
439
|
-
</table>
|
|
440
|
-
</div><div class="memdoc">
|
|
441
|
-
|
|
442
408
|
<p>collapse positive weight cycles of a graph </p>
|
|
443
409
|
|
|
444
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#
|
|
410
|
+
<p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen</a>.</p>
|
|
445
411
|
|
|
446
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
447
|
-
<div class="fragment"><div class="line"><a name="
|
|
412
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00128">128</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
413
|
+
<div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {}</div></div><!-- fragment -->
|
|
448
414
|
</div>
|
|
449
415
|
</div>
|
|
450
416
|
<a id="a37ca8a99b8f83fba796293e6e13b0953"></a>
|
|
@@ -475,7 +441,7 @@ template<class GraphType> </div>
|
|
|
475
441
|
<p>Get SCC detector. </p>
|
|
476
442
|
|
|
477
443
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00071">71</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
478
|
-
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
444
|
+
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00197">WPASolver.h:197</a></div></div>
|
|
479
445
|
</div><!-- fragment -->
|
|
480
446
|
</div>
|
|
481
447
|
</div>
|
|
@@ -507,7 +473,7 @@ template<class GraphType> </div>
|
|
|
507
473
|
<p>Get/Set graph methods. </p>
|
|
508
474
|
|
|
509
475
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00078">78</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
510
|
-
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
476
|
+
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00194">WPASolver.h:194</a></div></div>
|
|
511
477
|
</div><!-- fragment -->
|
|
512
478
|
</div>
|
|
513
479
|
</div>
|
|
@@ -539,7 +505,7 @@ template<class GraphType> </div>
|
|
|
539
505
|
<p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#a9075cd05cb21e0f08a1109b7af6c7480">SVF::Andersen</a>.</p>
|
|
540
506
|
|
|
541
507
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00101">101</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
542
|
-
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& nodeStack = <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SCCDetect</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nodeStack.top();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  nodeStack.pop();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(nodeId);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
508
|
+
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& nodeStack = <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SCCDetect</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nodeStack.top();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  nodeStack.pop();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(nodeId);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00160">WPASolver.h:160</a></div></div>
|
|
543
509
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
544
510
|
<div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack< NodeID > NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00127">SVFBasicTypes.h:127</a></div></div>
|
|
545
511
|
<div class="ttc" id="classSVF_1_1WPASolver_html_aaa932894d00b69cfa741f9987a9cc6b8"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SVF::WPASolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00090">WPASolver.h:90</a></div></div>
|
|
@@ -572,8 +538,8 @@ template<class GraphType> </div>
|
|
|
572
538
|
</table>
|
|
573
539
|
</div><div class="memdoc">
|
|
574
540
|
|
|
575
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
576
|
-
<div class="fragment"><div class="line"><a name="
|
|
541
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00168">168</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
542
|
+
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a86f2393b1cce7969d6974b53970ead54">find</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a1775717a8c8d5d125b7561bc1ae6abf5"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">SVF::WPASolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00200">WPASolver.h:200</a></div></div>
|
|
577
543
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a86f2393b1cce7969d6974b53970ead54"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a86f2393b1cce7969d6974b53970ead54">SVF::FIFOWorkList::find</a></div><div class="ttdeci">bool find(Data data) const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00151">WorkList.h:151</a></div></div>
|
|
578
544
|
</div><!-- fragment -->
|
|
579
545
|
</div>
|
|
@@ -603,9 +569,9 @@ template<class GraphType> </div>
|
|
|
603
569
|
</table>
|
|
604
570
|
</div><div class="memdoc">
|
|
605
571
|
|
|
606
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
607
|
-
<div class="fragment"><div class="line"><a name="
|
|
608
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a1775717a8c8d5d125b7561bc1ae6abf5"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">SVF::WPASolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
572
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00164">164</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
573
|
+
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div><div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
574
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a1775717a8c8d5d125b7561bc1ae6abf5"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">SVF::WPASolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00200">WPASolver.h:200</a></div></div>
|
|
609
575
|
</div><!-- fragment -->
|
|
610
576
|
</div>
|
|
611
577
|
</div>
|
|
@@ -637,8 +603,8 @@ template<class GraphType> </div>
|
|
|
637
603
|
|
|
638
604
|
<p>Get node on the graph. </p>
|
|
639
605
|
|
|
640
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
641
|
-
<div class="fragment"><div class="line"><a name="
|
|
606
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00181">181</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
607
|
+
<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">return</span> GTraits::getNode(<a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>, <span class="keywordtype">id</span>);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00194">WPASolver.h:194</a></div></div>
|
|
642
608
|
</div><!-- fragment -->
|
|
643
609
|
</div>
|
|
644
610
|
</div>
|
|
@@ -670,8 +636,8 @@ template<class GraphType> </div>
|
|
|
670
636
|
|
|
671
637
|
<p>Get node ID. </p>
|
|
672
638
|
|
|
673
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
674
|
-
<div class="fragment"><div class="line"><a name="
|
|
639
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00187">187</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
640
|
+
<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> GTraits::getNodeID(node);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div></div><!-- fragment -->
|
|
675
641
|
</div>
|
|
676
642
|
</div>
|
|
677
643
|
<a id="a20a14ac31fe23d4fe67da15f5cc498df"></a>
|
|
@@ -701,9 +667,9 @@ template<class GraphType> </div>
|
|
|
701
667
|
|
|
702
668
|
<p>Worklist operations. </p>
|
|
703
669
|
|
|
704
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
705
|
-
<div class="fragment"><div class="line"><a name="
|
|
706
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a3bd463cd456a1d58242f118328f51ddb"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">SVF::WPASolver::sccRepNode</a></div><div class="ttdeci">virtual NodeID sccRepNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
670
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00155">155</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
671
|
+
<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">sccRepNode</a>(<a class="code" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>());</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a1775717a8c8d5d125b7561bc1ae6abf5"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">SVF::WPASolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00200">WPASolver.h:200</a></div></div>
|
|
672
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a3bd463cd456a1d58242f118328f51ddb"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">SVF::WPASolver::sccRepNode</a></div><div class="ttdeci">virtual NodeID sccRepNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00148">WPASolver.h:148</a></div></div>
|
|
707
673
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00174">WorkList.h:174</a></div></div>
|
|
708
674
|
</div><!-- fragment -->
|
|
709
675
|
</div>
|
|
@@ -739,8 +705,8 @@ template<class GraphType> </div>
|
|
|
739
705
|
|
|
740
706
|
<p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen</a>, <a class="el" href="classSVF_1_1FlowSensitive.html#a16f594356ea565eb1fed2acea516a16b">SVF::FlowSensitive</a>, and <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a8cad0df2ae7df81dc2a966e694a0f7a2">SVF::VersionedFlowSensitive</a>.</p>
|
|
741
707
|
|
|
742
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
743
|
-
<div class="fragment"><div class="line"><a name="
|
|
708
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00126">126</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
709
|
+
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> {}</div></div><!-- fragment -->
|
|
744
710
|
</div>
|
|
745
711
|
</div>
|
|
746
712
|
<a id="a541ef7fda44ce79086c30b07a5f6126c"></a>
|
|
@@ -772,11 +738,11 @@ template<class GraphType> </div>
|
|
|
772
738
|
|
|
773
739
|
<p>Reimplemented in <a class="el" href="classSVF_1_1WPASCCSolver.html#aebc289ed32678fb7f93738927f0887d1">SVF::WPASCCSolver< GraphType ></a>.</p>
|
|
774
740
|
|
|
775
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
776
|
-
<div class="fragment"><div class="line"><a name="
|
|
777
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a904c056bcad2bdaff13763a48d372420"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">SVF::WPASolver::propFromSrcToDst</a></div><div class="ttdeci">virtual bool propFromSrcToDst(GEDGE *)</div><div class="ttdoc">Propagate information from source to destination node, to be implemented in the child class...</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
741
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00131">131</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
742
|
+
<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4d5b605b8932824a7088399305952f12">child_iterator</a> EI = GTraits::direct_child_begin(*v);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4d5b605b8932824a7088399305952f12">child_iterator</a> EE = GTraits::direct_child_end(*v);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">propFromSrcToDst</a>(*(EI.getCurrent())))</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(<a class="code" href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">Node_Index</a>(*EI));</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00160">WPASolver.h:160</a></div></div>
|
|
743
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a904c056bcad2bdaff13763a48d372420"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">SVF::WPASolver::propFromSrcToDst</a></div><div class="ttdeci">virtual bool propFromSrcToDst(GEDGE *)</div><div class="ttdoc">Propagate information from source to destination node, to be implemented in the child class...</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00142">WPASolver.h:142</a></div></div>
|
|
778
744
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a4d5b605b8932824a7088399305952f12"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4d5b605b8932824a7088399305952f12">SVF::WPASolver::child_iterator</a></div><div class="ttdeci">GTraits::ChildIteratorType child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00051">WPASolver.h:51</a></div></div>
|
|
779
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a01450e1475679d093413e6496c198fc0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">SVF::WPASolver::Node_Index</a></div><div class="ttdeci">NodeID Node_Index(GNODE node)</div><div class="ttdoc">Get node ID. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
745
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a01450e1475679d093413e6496c198fc0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">SVF::WPASolver::Node_Index</a></div><div class="ttdeci">NodeID Node_Index(GNODE node)</div><div class="ttdoc">Get node ID. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00187">WPASolver.h:187</a></div></div>
|
|
780
746
|
</div><!-- fragment -->
|
|
781
747
|
</div>
|
|
782
748
|
</div>
|
|
@@ -808,8 +774,8 @@ template<class GraphType> </div>
|
|
|
808
774
|
|
|
809
775
|
<p>Propagate information from source to destination node, to be implemented in the child class. </p>
|
|
810
776
|
|
|
811
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
812
|
-
<div class="fragment"><div class="line"><a name="
|
|
777
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00142">142</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
778
|
+
<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div></div><!-- fragment -->
|
|
813
779
|
</div>
|
|
814
780
|
</div>
|
|
815
781
|
<a id="a4af1c3e72f5af96c4facff672108da58"></a>
|
|
@@ -838,10 +804,10 @@ template<class GraphType> </div>
|
|
|
838
804
|
</table>
|
|
839
805
|
</div><div class="memdoc">
|
|
840
806
|
|
|
841
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
842
|
-
<div class="fragment"><div class="line"><a name="
|
|
807
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00160">160</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
808
|
+
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(<a class="code" href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">sccRepNode</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a1775717a8c8d5d125b7561bc1ae6abf5"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">SVF::WPASolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00200">WPASolver.h:200</a></div></div>
|
|
843
809
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_ad4c6a48b60c870d63049fe7272cc7eb8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(Data data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00159">WorkList.h:159</a></div></div>
|
|
844
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a3bd463cd456a1d58242f118328f51ddb"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">SVF::WPASolver::sccRepNode</a></div><div class="ttdeci">virtual NodeID sccRepNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
810
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a3bd463cd456a1d58242f118328f51ddb"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a3bd463cd456a1d58242f118328f51ddb">SVF::WPASolver::sccRepNode</a></div><div class="ttdeci">virtual NodeID sccRepNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00148">WPASolver.h:148</a></div></div>
|
|
845
811
|
</div><!-- fragment -->
|
|
846
812
|
</div>
|
|
847
813
|
</div>
|
|
@@ -942,8 +908,8 @@ template<class GraphType> </div>
|
|
|
942
908
|
|
|
943
909
|
<p>Reimplemented in <a class="el" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen</a>, and <a class="el" href="classSVF_1_1WPAFSSolver.html#a0bbaffd1673cc3850217afad0ca56e42">SVF::WPAFSSolver< GraphType ></a>.</p>
|
|
944
910
|
|
|
945
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
946
|
-
<div class="fragment"><div class="line"><a name="
|
|
911
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00148">148</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
912
|
+
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="ttc" id="classSVF_1_1SCCDetection_html_a3a5fdc9330a657240f77199f5aee602d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">SVF::SCCDetection::repNode</a></div><div class="ttdeci">NodeID repNode(NodeID n) const</div><div class="ttdoc">get the rep node if not found return itself </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00139">SCC.h:139</a></div></div>
|
|
947
913
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
|
|
948
914
|
</div><!-- fragment -->
|
|
949
915
|
</div>
|
|
@@ -975,8 +941,8 @@ template<class GraphType> </div>
|
|
|
975
941
|
</div><div class="memdoc">
|
|
976
942
|
|
|
977
943
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00082">82</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
978
|
-
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a> = g;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a>(<a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
979
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
944
|
+
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a> = g;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a>(<a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00197">WPASolver.h:197</a></div></div>
|
|
945
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00194">WPASolver.h:194</a></div></div>
|
|
980
946
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a1352953966be14b2a1d6244f35e74a33"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SVF::WPASolver::SCC</a></div><div class="ttdeci">SCCDetection< GraphType > SCC</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00053">WPASolver.h:53</a></div></div>
|
|
981
947
|
</div><!-- fragment -->
|
|
982
948
|
</div>
|
|
@@ -1009,12 +975,11 @@ template<class GraphType> </div>
|
|
|
1009
975
|
<p>Reimplemented in <a class="el" href="classSVF_1_1AndersenWaveDiff.html#a35cd97d5f7c1dcb65dd077f45ad864e9">SVF::AndersenWaveDiff</a>, <a class="el" href="classSVF_1_1AndersenSCD.html#a98fac4ecfe203666178e2ace39da81e2">SVF::AndersenSCD</a>, and <a class="el" href="classSVF_1_1Steensgaard.html#a966faa0548fe76d81a50339fffdd24c8">SVF::Steensgaard</a>.</p>
|
|
1010
976
|
|
|
1011
977
|
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00112">112</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1012
|
-
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <
|
|
1013
|
-
<div class="ttc" id="
|
|
1014
|
-
<div class="ttc" id="
|
|
1015
|
-
<div class="ttc" id="
|
|
1016
|
-
<div class="ttc" id="
|
|
1017
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00157">WPASolver.h:157</a></div></div>
|
|
978
|
+
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">// Keep solving until workList is empty.</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">processNode</a>(nodeId);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">collapseFields</a>();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
979
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00164">WPASolver.h:164</a></div></div>
|
|
980
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a79c2b3f10f3f813396d8caaa1f7bc62a"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">SVF::WPASolver::collapseFields</a></div><div class="ttdeci">virtual void collapseFields()</div><div class="ttdoc">collapse positive weight cycles of a graph </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00128">WPASolver.h:128</a></div></div>
|
|
981
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_abd7fd785e70f66d394088101d78598ca"><div class="ttname"><a href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">SVF::WPASolver::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID)</div><div class="ttdoc">Following methods are to be implemented in child class, in order to achieve a fully worked PTA...</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00126">WPASolver.h:126</a></div></div>
|
|
982
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00155">WPASolver.h:155</a></div></div>
|
|
1018
983
|
</div><!-- fragment -->
|
|
1019
984
|
</div>
|
|
1020
985
|
</div>
|
|
@@ -1043,7 +1008,7 @@ template<class GraphType> </div>
|
|
|
1043
1008
|
|
|
1044
1009
|
<p>Graph. </p>
|
|
1045
1010
|
|
|
1046
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1011
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00194">194</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1047
1012
|
|
|
1048
1013
|
</div>
|
|
1049
1014
|
</div>
|
|
@@ -1071,7 +1036,7 @@ template<class GraphType> </div>
|
|
|
1071
1036
|
|
|
1072
1037
|
<p>print out statistics for i-th iteration </p>
|
|
1073
1038
|
|
|
1074
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1039
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00177">177</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1075
1040
|
|
|
1076
1041
|
</div>
|
|
1077
1042
|
</div>
|
|
@@ -1091,7 +1056,7 @@ template<class GraphType> </div>
|
|
|
1091
1056
|
|
|
1092
1057
|
<p>num of iterations during constaint solving </p>
|
|
1093
1058
|
|
|
1094
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1059
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00204">204</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1095
1060
|
|
|
1096
1061
|
</div>
|
|
1097
1062
|
</div>
|
|
@@ -1119,7 +1084,7 @@ template<class GraphType> </div>
|
|
|
1119
1084
|
|
|
1120
1085
|
<p>Reanalyze if any constraint value changed. </p>
|
|
1121
1086
|
|
|
1122
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1087
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00175">175</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1123
1088
|
|
|
1124
1089
|
</div>
|
|
1125
1090
|
</div>
|
|
@@ -1147,7 +1112,7 @@ template<class GraphType> </div>
|
|
|
1147
1112
|
|
|
1148
1113
|
<p>SCC. </p>
|
|
1149
1114
|
|
|
1150
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1115
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00197">197</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1151
1116
|
|
|
1152
1117
|
</div>
|
|
1153
1118
|
</div>
|
|
@@ -1175,7 +1140,7 @@ template<class GraphType> </div>
|
|
|
1175
1140
|
|
|
1176
1141
|
<p>Worklist for resolution. </p>
|
|
1177
1142
|
|
|
1178
|
-
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#
|
|
1143
|
+
<p class="definition">Definition at line <a class="el" href="WPASolver_8h_source.html#l00200">200</a> of file <a class="el" href="WPASolver_8h_source.html">WPASolver.h</a>.</p>
|
|
1179
1144
|
|
|
1180
1145
|
</div>
|
|
1181
1146
|
</div>
|