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
|
@@ -65,7 +65,6 @@ $(function() {
|
|
|
65
65
|
<div class="summary">
|
|
66
66
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
67
67
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
68
|
-
<a href="#pro-methods">Protected Member Functions</a> |
|
|
69
68
|
<a href="#pri-static-attribs">Static Private Attributes</a> |
|
|
70
69
|
<a href="classSVF_1_1AndersenWaveDiff-members.html">List of all members</a> </div>
|
|
71
70
|
<div class="headertitle">
|
|
@@ -369,162 +368,6 @@ Static Public Member Functions</h2></td></tr>
|
|
|
369
368
|
<tr class="memitem:a6ba68138c10d1fbe5be6346c8dfeca74 inherit pub_static_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a6ba68138c10d1fbe5be6346c8dfeca74">classof</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a> *pta)</td></tr>
|
|
370
369
|
<tr class="separator:a6ba68138c10d1fbe5be6346c8dfeca74 inherit pub_static_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
371
370
|
</table><table class="memberdecls">
|
|
372
|
-
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
373
|
-
Protected Member Functions</h2></td></tr>
|
|
374
|
-
<tr class="memitem:acdc82c72b14e012551a460fa91a634db"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AndersenWaveDiff.html#acdc82c72b14e012551a460fa91a634db">mergeNodeToRep</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</td></tr>
|
|
375
|
-
<tr class="memdesc:acdc82c72b14e012551a460fa91a634db"><td class="mdescLeft"> </td><td class="mdescRight">Merge sub node to its rep. <a href="#acdc82c72b14e012551a460fa91a634db">More...</a><br /></td></tr>
|
|
376
|
-
<tr class="separator:acdc82c72b14e012551a460fa91a634db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
377
|
-
<tr class="inherit_header pro_methods_classSVF_1_1Andersen"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1Andersen')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1Andersen.html">SVF::Andersen</a></td></tr>
|
|
378
|
-
<tr class="memitem:a7b1b9e9b25b5643440aca77e23a8de07 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a7b1b9e9b25b5643440aca77e23a8de07">heapAllocatorViaIndCall</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &cpySrcNodes)</td></tr>
|
|
379
|
-
<tr class="separator:a7b1b9e9b25b5643440aca77e23a8de07 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
380
|
-
<tr class="memitem:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">computeDiffPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
381
|
-
<tr class="memdesc:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Handle diff points-to set. <a href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">More...</a><br /></td></tr>
|
|
382
|
-
<tr class="separator:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
383
|
-
<tr class="memitem:a106691684d8e7a69157d423393d83d66 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">getDiffPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
384
|
-
<tr class="separator:a106691684d8e7a69157d423393d83d66 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
385
|
-
<tr class="memitem:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">updatePropaPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId)</td></tr>
|
|
386
|
-
<tr class="memdesc:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Handle propagated points-to set. <a href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">More...</a><br /></td></tr>
|
|
387
|
-
<tr class="separator:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
388
|
-
<tr class="memitem:a839ed248cf5ff8359217e2029f389d8a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a839ed248cf5ff8359217e2029f389d8a">clearPropaPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> src)</td></tr>
|
|
389
|
-
<tr class="separator:a839ed248cf5ff8359217e2029f389d8a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
390
|
-
<tr class="memitem:a9075cd05cb21e0f08a1109b7af6c7480 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a9075cd05cb21e0f08a1109b7af6c7480">initWorklist</a> ()</td></tr>
|
|
391
|
-
<tr class="separator:a9075cd05cb21e0f08a1109b7af6c7480 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
392
|
-
<tr class="memitem:ab81b08574f80287803dd43b5ebe2adfa inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ab81b08574f80287803dd43b5ebe2adfa">setSCCEdgeFlag</a> (<a class="el" href="classSVF_1_1ConstraintNode.html#a6e59b815d784bc1a9437290ff0e1e28c">ConstraintNode::SCCEdgeFlag</a> f)</td></tr>
|
|
393
|
-
<tr class="separator:ab81b08574f80287803dd43b5ebe2adfa inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
394
|
-
<tr class="memitem:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> src, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dst)</td></tr>
|
|
395
|
-
<tr class="memdesc:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Add copy edge on constraint graph. <a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">More...</a><br /></td></tr>
|
|
396
|
-
<tr class="separator:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
397
|
-
<tr class="memitem:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">updateCallGraph</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &callsites)</td></tr>
|
|
398
|
-
<tr class="memdesc:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Update call graph for the input indirect callsites. <a href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">More...</a><br /></td></tr>
|
|
399
|
-
<tr class="separator:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
400
|
-
<tr class="memitem:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &cpySrcNodes)</td></tr>
|
|
401
|
-
<tr class="memdesc:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Connect formal and actual parameters for indirect callsites. <a href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">More...</a><br /></td></tr>
|
|
402
|
-
<tr class="separator:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
403
|
-
<tr class="memitem:ae6b1e54a389abc68994219e39539127e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">mergeSrcToTgt</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> tgtId)</td></tr>
|
|
404
|
-
<tr class="separator:ae6b1e54a389abc68994219e39539127e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
405
|
-
<tr class="memitem:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">updateNodeRepAndSubs</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</td></tr>
|
|
406
|
-
<tr class="memdesc:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Updates subnodes of its rep, and rep node of its subs. <a href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">More...</a><br /></td></tr>
|
|
407
|
-
<tr class="separator:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
408
|
-
<tr class="memitem:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SCCDetect</a> ()</td></tr>
|
|
409
|
-
<tr class="memdesc:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">SCC detection. <a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">More...</a><br /></td></tr>
|
|
410
|
-
<tr class="separator:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
411
|
-
<tr class="memitem:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a308ef1f3a1c9fd7ac1858d0c690aa37a">sanitizePts</a> ()</td></tr>
|
|
412
|
-
<tr class="memdesc:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Sanitize pts for field insensitive objects. <a href="classSVF_1_1Andersen.html#a308ef1f3a1c9fd7ac1858d0c690aa37a">More...</a><br /></td></tr>
|
|
413
|
-
<tr class="separator:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
414
|
-
<tr class="memitem:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">PTAName</a> () const</td></tr>
|
|
415
|
-
<tr class="memdesc:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Get PTA name. <a href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">More...</a><br /></td></tr>
|
|
416
|
-
<tr class="separator:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
417
|
-
<tr class="memitem:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">matchType</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
|
|
418
|
-
<tr class="memdesc:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">match types for Gep Edges <a href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">More...</a><br /></td></tr>
|
|
419
|
-
<tr class="separator:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
420
|
-
<tr class="memitem:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">addTypeForGepObjNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
|
|
421
|
-
<tr class="memdesc:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">add type for newly created GepObjNode <a href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">More...</a><br /></td></tr>
|
|
422
|
-
<tr class="separator:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
423
|
-
<tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
|
|
424
|
-
<tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
425
|
-
<tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
|
|
426
|
-
<tr class="memdesc:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">handling various constraints <a href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">More...</a><br /></td></tr>
|
|
427
|
-
<tr class="separator:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
428
|
-
<tr class="memitem:abc20264231658b99998bc4af1f03a4de inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#abc20264231658b99998bc4af1f03a4de">processLoad</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *load)</td></tr>
|
|
429
|
-
<tr class="separator:abc20264231658b99998bc4af1f03a4de inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
430
|
-
<tr class="memitem:ac262d42d45dc6130cb031d5b0ed1f024 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac262d42d45dc6130cb031d5b0ed1f024">processStore</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *load)</td></tr>
|
|
431
|
-
<tr class="separator:ac262d42d45dc6130cb031d5b0ed1f024 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
432
|
-
<tr class="memitem:ac4afe532655c3f311143ebbe15175ca2 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">processCopy</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *edge)</td></tr>
|
|
433
|
-
<tr class="separator:ac4afe532655c3f311143ebbe15175ca2 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
434
|
-
<tr class="memitem:aa697d4a6fe09dd6e50abb09228b3567f inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">processGep</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a> *edge)</td></tr>
|
|
435
|
-
<tr class="separator:aa697d4a6fe09dd6e50abb09228b3567f inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
436
|
-
<tr class="memitem:ab069683dd6ca563113efbde2813ab35e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e">handleCopyGep</a> (<a class="el" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *node)</td></tr>
|
|
437
|
-
<tr class="separator:ab069683dd6ca563113efbde2813ab35e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
438
|
-
<tr class="memitem:a0f32ba8cb1109c257552fa775a007ffd inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a0f32ba8cb1109c257552fa775a007ffd">handleLoadStore</a> (<a class="el" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *node)</td></tr>
|
|
439
|
-
<tr class="separator:a0f32ba8cb1109c257552fa775a007ffd inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
440
|
-
<tr class="memitem:aca095e135edb5d27efe76bb7ee71184c inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#aca095e135edb5d27efe76bb7ee71184c">processAddr</a> (const <a class="el" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a> *addr)</td></tr>
|
|
441
|
-
<tr class="separator:aca095e135edb5d27efe76bb7ee71184c inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
442
|
-
<tr class="memitem:ac6b1efcaadfed48c226701ecf6bac55e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">processGepPts</a> (const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &pts, const <a class="el" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a> *edge)</td></tr>
|
|
443
|
-
<tr class="separator:ac6b1efcaadfed48c226701ecf6bac55e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
444
|
-
<tr class="memitem:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">mergeSccNodes</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> repNodeId, const <a class="el" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> &subNodes)</td></tr>
|
|
445
|
-
<tr class="memdesc:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Merge sub node in a SCC cycle to their rep node. <a href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">More...</a><br /></td></tr>
|
|
446
|
-
<tr class="separator:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
447
|
-
<tr class="memitem:ac86ffd334568e4df5c08b3c827018bef inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">mergeSccCycle</a> ()</td></tr>
|
|
448
|
-
<tr class="separator:ac86ffd334568e4df5c08b3c827018bef inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
449
|
-
<tr class="memitem:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
450
|
-
<tr class="memdesc:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Collapse a field object into its base for field insensitive anlaysis. <a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">More...</a><br /></td></tr>
|
|
451
|
-
<tr class="separator:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
452
|
-
<tr class="memitem:ac22a6946de30bc5887b9e4ec9259764f inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a> ()</td></tr>
|
|
453
|
-
<tr class="separator:ac22a6946de30bc5887b9e4ec9259764f inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
454
|
-
<tr class="memitem:a3f0048155f0b3a6899dac6f30553aa9e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a3f0048155f0b3a6899dac6f30553aa9e">collapseNodePts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
455
|
-
<tr class="separator:a3f0048155f0b3a6899dac6f30553aa9e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
456
|
-
<tr class="memitem:af4a0d960ef198047517bb32ee1e24a61 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#af4a0d960ef198047517bb32ee1e24a61">collapseField</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
457
|
-
<tr class="separator:af4a0d960ef198047517bb32ee1e24a61 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
458
|
-
<tr class="inherit_header pro_methods_classSVF_1_1WPASolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1WPASolver')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td></tr>
|
|
459
|
-
<tr class="memitem:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a> ()</td></tr>
|
|
460
|
-
<tr class="memdesc:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">More...</a><br /></td></tr>
|
|
461
|
-
<tr class="separator:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
462
|
-
<tr class="memitem:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#ac88ef07e88b453a1b35684b59a7dd04a">~WPASolver</a> ()</td></tr>
|
|
463
|
-
<tr class="memdesc:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="classSVF_1_1WPASolver.html#ac88ef07e88b453a1b35684b59a7dd04a">More...</a><br /></td></tr>
|
|
464
|
-
<tr class="separator:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
465
|
-
<tr class="memitem:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a> () const</td></tr>
|
|
466
|
-
<tr class="memdesc:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get SCC detector. <a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">More...</a><br /></td></tr>
|
|
467
|
-
<tr class="separator:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
468
|
-
<tr class="memitem:a16d371c8f6a9bdb1ca984bcb287d6c5a inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SCCDetect</a> (<a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> &candidates)</td></tr>
|
|
469
|
-
<tr class="separator:a16d371c8f6a9bdb1ca984bcb287d6c5a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
470
|
-
<tr class="memitem:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a5fd488d74e04aa9e66ca4eb42c6dbbf4">Node</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
471
|
-
<tr class="memdesc:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get node on the graph. <a href="classSVF_1_1WPASolver.html#a5fd488d74e04aa9e66ca4eb42c6dbbf4">More...</a><br /></td></tr>
|
|
472
|
-
<tr class="separator:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
473
|
-
<tr class="memitem:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">Node_Index</a> (<a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> node)</td></tr>
|
|
474
|
-
<tr class="memdesc:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get node ID. <a href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">More...</a><br /></td></tr>
|
|
475
|
-
<tr class="separator:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
476
|
-
<tr class="memitem:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">const GraphType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#abe0a304039d1bd2cfd7befd32fdcde2b">graph</a> ()</td></tr>
|
|
477
|
-
<tr class="memdesc:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get/Set graph methods. <a href="classSVF_1_1WPASolver.html#abe0a304039d1bd2cfd7befd32fdcde2b">More...</a><br /></td></tr>
|
|
478
|
-
<tr class="separator:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
479
|
-
<tr class="memitem:aa04deb39cd024c051f30ac43d1d62b34 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a> (GraphType g)</td></tr>
|
|
480
|
-
<tr class="separator:aa04deb39cd024c051f30ac43d1d62b34 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
481
|
-
<tr class="memitem:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><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>
|
|
482
|
-
<tr class="separator:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
483
|
-
<tr class="memitem:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">propFromSrcToDst</a> (<a class="el" href="classSVF_1_1WPASolver.html#ab7de73aabfa092b51b8dbe7b091e4c57">GEDGE</a> *)</td></tr>
|
|
484
|
-
<tr class="memdesc:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Propagate information from source to destination node, to be implemented in the child class. <a href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">More...</a><br /></td></tr>
|
|
485
|
-
<tr class="separator:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
486
|
-
<tr class="memitem:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a> ()</td></tr>
|
|
487
|
-
<tr class="memdesc:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">More...</a><br /></td></tr>
|
|
488
|
-
<tr class="separator:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
489
|
-
<tr class="memitem:a4af1c3e72f5af96c4facff672108da58 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
490
|
-
<tr class="separator:a4af1c3e72f5af96c4facff672108da58 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
491
|
-
<tr class="memitem:a992b105a0ec126050a123e24db3bd45b inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a> ()</td></tr>
|
|
492
|
-
<tr class="separator:a992b105a0ec126050a123e24db3bd45b inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
493
|
-
<tr class="memitem:a09c85e7a12715fc64e05a8448b699ec0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a09c85e7a12715fc64e05a8448b699ec0">isInWorklist</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
494
|
-
<tr class="separator:a09c85e7a12715fc64e05a8448b699ec0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
495
|
-
<tr class="inherit_header pro_methods_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
|
|
496
|
-
<tr class="memitem:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">getPTDataTy</a> () const</td></tr>
|
|
497
|
-
<tr class="memdesc:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft"> </td><td class="mdescRight">Get points-to data structure. <a href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">More...</a><br /></td></tr>
|
|
498
|
-
<tr class="separator:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
499
|
-
<tr class="memitem:ab9c0bb439f98ae11dd178148109697ab inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#abd8bb73e9beac5e39667091b1e211bd3">DiffPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">getDiffPTDataTy</a> () const</td></tr>
|
|
500
|
-
<tr class="separator:ab9c0bb439f98ae11dd178148109697ab inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
501
|
-
<tr class="memitem:a642613e98982259183d3f34a97f05502 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a5c2288519153467142e74c8dd4e77180">DFPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a> () const</td></tr>
|
|
502
|
-
<tr class="separator:a642613e98982259183d3f34a97f05502 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
503
|
-
<tr class="memitem:acbb979edee9427efa2a7c0dbd881c483 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac130bf326911b8e5396f57daa78566e7">MutDFPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a> () const</td></tr>
|
|
504
|
-
<tr class="separator:acbb979edee9427efa2a7c0dbd881c483 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
505
|
-
<tr class="memitem:a4859864a4c72d5e04c10305e4579e8ee inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a4859864a4c72d5e04c10305e4579e8ee">getVersionedPTDataTy</a> () const</td></tr>
|
|
506
|
-
<tr class="separator:a4859864a4c72d5e04c10305e4579e8ee inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
507
|
-
<tr class="memitem:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">onTheFlyCallGraphSolve</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &callsites, <a class="el" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> &newEdges)</td></tr>
|
|
508
|
-
<tr class="memdesc:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft"> </td><td class="mdescRight">On the fly call graph construction. <a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">More...</a><br /></td></tr>
|
|
509
|
-
<tr class="separator:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
510
|
-
<tr class="inherit_header pro_methods_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
|
|
511
|
-
<tr class="memitem:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a> () const</td></tr>
|
|
512
|
-
<tr class="memdesc:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Return all indirect callsites. <a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">More...</a><br /></td></tr>
|
|
513
|
-
<tr class="separator:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
514
|
-
<tr class="memitem:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs) const</td></tr>
|
|
515
|
-
<tr class="memdesc:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Return function pointer PAGNode at a callsite cs. <a href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">More...</a><br /></td></tr>
|
|
516
|
-
<tr class="separator:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
517
|
-
<tr class="memitem:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a> ()</td></tr>
|
|
518
|
-
<tr class="memdesc:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Reset all object node as field-sensitive. <a href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">More...</a><br /></td></tr>
|
|
519
|
-
<tr class="separator:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
520
|
-
<tr class="memitem:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a> ()</td></tr>
|
|
521
|
-
<tr class="memdesc:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Alias check functions to verify correctness of pointer analysis. <a href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">More...</a><br /></td></tr>
|
|
522
|
-
<tr class="separator:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
523
|
-
<tr class="memitem:a7accf4e4db4001716e53d98ce5217ac8 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> fun)</td></tr>
|
|
524
|
-
<tr class="separator:a7accf4e4db4001716e53d98ce5217ac8 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
525
|
-
<tr class="memitem:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> fun)</td></tr>
|
|
526
|
-
<tr class="separator:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
527
|
-
</table><table class="memberdecls">
|
|
528
371
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
|
|
529
372
|
Static Private Attributes</h2></td></tr>
|
|
530
373
|
<tr class="memitem:add4dcb6d74a8ce8747bcac5f740cd672"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AndersenWaveDiff.html#add4dcb6d74a8ce8747bcac5f740cd672">diffWave</a> = nullptr</td></tr>
|
|
@@ -711,6 +554,160 @@ Additional Inherited Members</h2></td></tr>
|
|
|
711
554
|
<tr class="separator:a18347e41bc66b16e3f42c7c52811ad42 inherit pub_static_attribs_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
712
555
|
<tr class="memitem:aefd4e9ea66da5ad84a45efead823eb22 inherit pub_static_attribs_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">aliasTestFailNoAliasMangled</a> = "_Z20EXPECTEDFAIL_NOALIASPvS_"</td></tr>
|
|
713
556
|
<tr class="separator:aefd4e9ea66da5ad84a45efead823eb22 inherit pub_static_attribs_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
557
|
+
<tr class="inherit_header pro_methods_classSVF_1_1Andersen"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1Andersen')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1Andersen.html">SVF::Andersen</a></td></tr>
|
|
558
|
+
<tr class="memitem:a7b1b9e9b25b5643440aca77e23a8de07 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a7b1b9e9b25b5643440aca77e23a8de07">heapAllocatorViaIndCall</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &cpySrcNodes)</td></tr>
|
|
559
|
+
<tr class="separator:a7b1b9e9b25b5643440aca77e23a8de07 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
560
|
+
<tr class="memitem:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">computeDiffPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
561
|
+
<tr class="memdesc:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Handle diff points-to set. <a href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">More...</a><br /></td></tr>
|
|
562
|
+
<tr class="separator:a7e26ac6fb40684694f7ff2aadfde8bc7 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
563
|
+
<tr class="memitem:a106691684d8e7a69157d423393d83d66 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">getDiffPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
564
|
+
<tr class="separator:a106691684d8e7a69157d423393d83d66 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
565
|
+
<tr class="memitem:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">updatePropaPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId)</td></tr>
|
|
566
|
+
<tr class="memdesc:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Handle propagated points-to set. <a href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">More...</a><br /></td></tr>
|
|
567
|
+
<tr class="separator:a4baa6fc95d52afa370fc0fabffd42018 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
568
|
+
<tr class="memitem:a839ed248cf5ff8359217e2029f389d8a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a839ed248cf5ff8359217e2029f389d8a">clearPropaPts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> src)</td></tr>
|
|
569
|
+
<tr class="separator:a839ed248cf5ff8359217e2029f389d8a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
570
|
+
<tr class="memitem:a9075cd05cb21e0f08a1109b7af6c7480 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a9075cd05cb21e0f08a1109b7af6c7480">initWorklist</a> ()</td></tr>
|
|
571
|
+
<tr class="separator:a9075cd05cb21e0f08a1109b7af6c7480 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
572
|
+
<tr class="memitem:ab81b08574f80287803dd43b5ebe2adfa inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ab81b08574f80287803dd43b5ebe2adfa">setSCCEdgeFlag</a> (<a class="el" href="classSVF_1_1ConstraintNode.html#a6e59b815d784bc1a9437290ff0e1e28c">ConstraintNode::SCCEdgeFlag</a> f)</td></tr>
|
|
573
|
+
<tr class="separator:ab81b08574f80287803dd43b5ebe2adfa inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
574
|
+
<tr class="memitem:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> src, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dst)</td></tr>
|
|
575
|
+
<tr class="memdesc:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Add copy edge on constraint graph. <a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">More...</a><br /></td></tr>
|
|
576
|
+
<tr class="separator:a8ba593bd16d4436310f2f25e75687c57 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
577
|
+
<tr class="memitem:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">updateCallGraph</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &callsites)</td></tr>
|
|
578
|
+
<tr class="memdesc:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Update call graph for the input indirect callsites. <a href="classSVF_1_1Andersen.html#a6c60b761ddf3d6bf08c8a9c3f6fd9f0b">More...</a><br /></td></tr>
|
|
579
|
+
<tr class="separator:a6c60b761ddf3d6bf08c8a9c3f6fd9f0b inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
580
|
+
<tr class="memitem:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">connectCaller2CalleeParams</a> (<a class="el" href="classSVF_1_1CallSite.html">CallSite</a> cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>, <a class="el" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> &cpySrcNodes)</td></tr>
|
|
581
|
+
<tr class="memdesc:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Connect formal and actual parameters for indirect callsites. <a href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">More...</a><br /></td></tr>
|
|
582
|
+
<tr class="separator:a5a90e681e46c52ffd3debf02910c7ecf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
583
|
+
<tr class="memitem:a36729160041bc3a3e2b0a92b29062848 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</td></tr>
|
|
584
|
+
<tr class="memdesc:a36729160041bc3a3e2b0a92b29062848 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Merge sub node to its rep. <a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">More...</a><br /></td></tr>
|
|
585
|
+
<tr class="separator:a36729160041bc3a3e2b0a92b29062848 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
586
|
+
<tr class="memitem:ae6b1e54a389abc68994219e39539127e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">mergeSrcToTgt</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> tgtId)</td></tr>
|
|
587
|
+
<tr class="separator:ae6b1e54a389abc68994219e39539127e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
588
|
+
<tr class="memitem:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">updateNodeRepAndSubs</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</td></tr>
|
|
589
|
+
<tr class="memdesc:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Updates subnodes of its rep, and rep node of its subs. <a href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">More...</a><br /></td></tr>
|
|
590
|
+
<tr class="separator:acd54e3edace1f41511c8f0a6a68dac18 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
591
|
+
<tr class="memitem:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SCCDetect</a> ()</td></tr>
|
|
592
|
+
<tr class="memdesc:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">SCC detection. <a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">More...</a><br /></td></tr>
|
|
593
|
+
<tr class="separator:a31ea24432ff42ab86a4728f2bde571bc inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
594
|
+
<tr class="memitem:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a308ef1f3a1c9fd7ac1858d0c690aa37a">sanitizePts</a> ()</td></tr>
|
|
595
|
+
<tr class="memdesc:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Sanitize pts for field insensitive objects. <a href="classSVF_1_1Andersen.html#a308ef1f3a1c9fd7ac1858d0c690aa37a">More...</a><br /></td></tr>
|
|
596
|
+
<tr class="separator:a308ef1f3a1c9fd7ac1858d0c690aa37a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
597
|
+
<tr class="memitem:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">PTAName</a> () const</td></tr>
|
|
598
|
+
<tr class="memdesc:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Get PTA name. <a href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">More...</a><br /></td></tr>
|
|
599
|
+
<tr class="separator:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
600
|
+
<tr class="memitem:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">matchType</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
|
|
601
|
+
<tr class="memdesc:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">match types for Gep Edges <a href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">More...</a><br /></td></tr>
|
|
602
|
+
<tr class="separator:af42fe6aeacfd31bbef7f5c80c8cf6173 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
603
|
+
<tr class="memitem:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">addTypeForGepObjNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
|
|
604
|
+
<tr class="memdesc:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">add type for newly created GepObjNode <a href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">More...</a><br /></td></tr>
|
|
605
|
+
<tr class="separator:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
606
|
+
<tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
|
|
607
|
+
<tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
608
|
+
<tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
|
|
609
|
+
<tr class="memdesc:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">handling various constraints <a href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">More...</a><br /></td></tr>
|
|
610
|
+
<tr class="separator:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
611
|
+
<tr class="memitem:abc20264231658b99998bc4af1f03a4de inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#abc20264231658b99998bc4af1f03a4de">processLoad</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *load)</td></tr>
|
|
612
|
+
<tr class="separator:abc20264231658b99998bc4af1f03a4de inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
613
|
+
<tr class="memitem:ac262d42d45dc6130cb031d5b0ed1f024 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac262d42d45dc6130cb031d5b0ed1f024">processStore</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *load)</td></tr>
|
|
614
|
+
<tr class="separator:ac262d42d45dc6130cb031d5b0ed1f024 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
615
|
+
<tr class="memitem:ac4afe532655c3f311143ebbe15175ca2 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">processCopy</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a> *edge)</td></tr>
|
|
616
|
+
<tr class="separator:ac4afe532655c3f311143ebbe15175ca2 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
617
|
+
<tr class="memitem:aa697d4a6fe09dd6e50abb09228b3567f inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">processGep</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node, const <a class="el" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a> *edge)</td></tr>
|
|
618
|
+
<tr class="separator:aa697d4a6fe09dd6e50abb09228b3567f inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
619
|
+
<tr class="memitem:ab069683dd6ca563113efbde2813ab35e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e">handleCopyGep</a> (<a class="el" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *node)</td></tr>
|
|
620
|
+
<tr class="separator:ab069683dd6ca563113efbde2813ab35e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
621
|
+
<tr class="memitem:a0f32ba8cb1109c257552fa775a007ffd inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a0f32ba8cb1109c257552fa775a007ffd">handleLoadStore</a> (<a class="el" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *node)</td></tr>
|
|
622
|
+
<tr class="separator:a0f32ba8cb1109c257552fa775a007ffd inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
623
|
+
<tr class="memitem:aca095e135edb5d27efe76bb7ee71184c inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#aca095e135edb5d27efe76bb7ee71184c">processAddr</a> (const <a class="el" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a> *addr)</td></tr>
|
|
624
|
+
<tr class="separator:aca095e135edb5d27efe76bb7ee71184c inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
625
|
+
<tr class="memitem:ac6b1efcaadfed48c226701ecf6bac55e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">processGepPts</a> (const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &pts, const <a class="el" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a> *edge)</td></tr>
|
|
626
|
+
<tr class="separator:ac6b1efcaadfed48c226701ecf6bac55e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
627
|
+
<tr class="memitem:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">mergeSccNodes</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> repNodeId, const <a class="el" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> &subNodes)</td></tr>
|
|
628
|
+
<tr class="memdesc:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Merge sub node in a SCC cycle to their rep node. <a href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">More...</a><br /></td></tr>
|
|
629
|
+
<tr class="separator:a1ba1e1e36af289982146de06cf06ab0a inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
630
|
+
<tr class="memitem:ac86ffd334568e4df5c08b3c827018bef inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">mergeSccCycle</a> ()</td></tr>
|
|
631
|
+
<tr class="separator:ac86ffd334568e4df5c08b3c827018bef inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
632
|
+
<tr class="memitem:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
633
|
+
<tr class="memdesc:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Collapse a field object into its base for field insensitive anlaysis. <a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">More...</a><br /></td></tr>
|
|
634
|
+
<tr class="separator:ae79bff0e9c49f15e7db00ed605824d98 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
635
|
+
<tr class="memitem:ac22a6946de30bc5887b9e4ec9259764f inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a> ()</td></tr>
|
|
636
|
+
<tr class="memdesc:ac22a6946de30bc5887b9e4ec9259764f inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">collapse positive weight cycles of a graph <a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">More...</a><br /></td></tr>
|
|
637
|
+
<tr class="separator:ac22a6946de30bc5887b9e4ec9259764f inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
638
|
+
<tr class="memitem:a3f0048155f0b3a6899dac6f30553aa9e inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a3f0048155f0b3a6899dac6f30553aa9e">collapseNodePts</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
639
|
+
<tr class="separator:a3f0048155f0b3a6899dac6f30553aa9e inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
640
|
+
<tr class="memitem:af4a0d960ef198047517bb32ee1e24a61 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#af4a0d960ef198047517bb32ee1e24a61">collapseField</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</td></tr>
|
|
641
|
+
<tr class="separator:af4a0d960ef198047517bb32ee1e24a61 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
642
|
+
<tr class="inherit_header pro_methods_classSVF_1_1WPASolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1WPASolver')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td></tr>
|
|
643
|
+
<tr class="memitem:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a> ()</td></tr>
|
|
644
|
+
<tr class="memdesc:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">More...</a><br /></td></tr>
|
|
645
|
+
<tr class="separator:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
646
|
+
<tr class="memitem:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#ac88ef07e88b453a1b35684b59a7dd04a">~WPASolver</a> ()</td></tr>
|
|
647
|
+
<tr class="memdesc:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="classSVF_1_1WPASolver.html#ac88ef07e88b453a1b35684b59a7dd04a">More...</a><br /></td></tr>
|
|
648
|
+
<tr class="separator:ac88ef07e88b453a1b35684b59a7dd04a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
649
|
+
<tr class="memitem:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a> () const</td></tr>
|
|
650
|
+
<tr class="memdesc:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get SCC detector. <a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">More...</a><br /></td></tr>
|
|
651
|
+
<tr class="separator:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
652
|
+
<tr class="memitem:a16d371c8f6a9bdb1ca984bcb287d6c5a inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SCCDetect</a> (<a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> &candidates)</td></tr>
|
|
653
|
+
<tr class="separator:a16d371c8f6a9bdb1ca984bcb287d6c5a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
654
|
+
<tr class="memitem:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a5fd488d74e04aa9e66ca4eb42c6dbbf4">Node</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
655
|
+
<tr class="memdesc:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get node on the graph. <a href="classSVF_1_1WPASolver.html#a5fd488d74e04aa9e66ca4eb42c6dbbf4">More...</a><br /></td></tr>
|
|
656
|
+
<tr class="separator:a5fd488d74e04aa9e66ca4eb42c6dbbf4 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
657
|
+
<tr class="memitem:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">Node_Index</a> (<a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> node)</td></tr>
|
|
658
|
+
<tr class="memdesc:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get node ID. <a href="classSVF_1_1WPASolver.html#a01450e1475679d093413e6496c198fc0">More...</a><br /></td></tr>
|
|
659
|
+
<tr class="separator:a01450e1475679d093413e6496c198fc0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
660
|
+
<tr class="memitem:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">const GraphType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#abe0a304039d1bd2cfd7befd32fdcde2b">graph</a> ()</td></tr>
|
|
661
|
+
<tr class="memdesc:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get/Set graph methods. <a href="classSVF_1_1WPASolver.html#abe0a304039d1bd2cfd7befd32fdcde2b">More...</a><br /></td></tr>
|
|
662
|
+
<tr class="separator:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
663
|
+
<tr class="memitem:aa04deb39cd024c051f30ac43d1d62b34 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a> (GraphType g)</td></tr>
|
|
664
|
+
<tr class="separator:aa04deb39cd024c051f30ac43d1d62b34 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
665
|
+
<tr class="memitem:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><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>
|
|
666
|
+
<tr class="separator:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
667
|
+
<tr class="memitem:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">propFromSrcToDst</a> (<a class="el" href="classSVF_1_1WPASolver.html#ab7de73aabfa092b51b8dbe7b091e4c57">GEDGE</a> *)</td></tr>
|
|
668
|
+
<tr class="memdesc:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Propagate information from source to destination node, to be implemented in the child class. <a href="classSVF_1_1WPASolver.html#a904c056bcad2bdaff13763a48d372420">More...</a><br /></td></tr>
|
|
669
|
+
<tr class="separator:a904c056bcad2bdaff13763a48d372420 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
670
|
+
<tr class="memitem:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a> ()</td></tr>
|
|
671
|
+
<tr class="memdesc:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">More...</a><br /></td></tr>
|
|
672
|
+
<tr class="separator:a20a14ac31fe23d4fe67da15f5cc498df inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
673
|
+
<tr class="memitem:a4af1c3e72f5af96c4facff672108da58 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
674
|
+
<tr class="separator:a4af1c3e72f5af96c4facff672108da58 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
675
|
+
<tr class="memitem:a992b105a0ec126050a123e24db3bd45b inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a> ()</td></tr>
|
|
676
|
+
<tr class="separator:a992b105a0ec126050a123e24db3bd45b inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
677
|
+
<tr class="memitem:a09c85e7a12715fc64e05a8448b699ec0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a09c85e7a12715fc64e05a8448b699ec0">isInWorklist</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id)</td></tr>
|
|
678
|
+
<tr class="separator:a09c85e7a12715fc64e05a8448b699ec0 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
679
|
+
<tr class="inherit_header pro_methods_classSVF_1_1BVDataPTAImpl"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1BVDataPTAImpl')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></td></tr>
|
|
680
|
+
<tr class="memitem:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">getPTDataTy</a> () const</td></tr>
|
|
681
|
+
<tr class="memdesc:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft"> </td><td class="mdescRight">Get points-to data structure. <a href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">More...</a><br /></td></tr>
|
|
682
|
+
<tr class="separator:ae94cea78b71fb75837ee2a17b5ed0e81 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
683
|
+
<tr class="memitem:ab9c0bb439f98ae11dd178148109697ab inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#abd8bb73e9beac5e39667091b1e211bd3">DiffPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">getDiffPTDataTy</a> () const</td></tr>
|
|
684
|
+
<tr class="separator:ab9c0bb439f98ae11dd178148109697ab inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
685
|
+
<tr class="memitem:a642613e98982259183d3f34a97f05502 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a5c2288519153467142e74c8dd4e77180">DFPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a> () const</td></tr>
|
|
686
|
+
<tr class="separator:a642613e98982259183d3f34a97f05502 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
687
|
+
<tr class="memitem:acbb979edee9427efa2a7c0dbd881c483 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#ac130bf326911b8e5396f57daa78566e7">MutDFPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a> () const</td></tr>
|
|
688
|
+
<tr class="separator:acbb979edee9427efa2a7c0dbd881c483 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
689
|
+
<tr class="memitem:a4859864a4c72d5e04c10305e4579e8ee inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a8bc5e039958280b18e5a00a56e0bdc94">VersionedPTDataTy</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a4859864a4c72d5e04c10305e4579e8ee">getVersionedPTDataTy</a> () const</td></tr>
|
|
690
|
+
<tr class="separator:a4859864a4c72d5e04c10305e4579e8ee inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
691
|
+
<tr class="memitem:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">onTheFlyCallGraphSolve</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &callsites, <a class="el" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> &newEdges)</td></tr>
|
|
692
|
+
<tr class="memdesc:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="mdescLeft"> </td><td class="mdescRight">On the fly call graph construction. <a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">More...</a><br /></td></tr>
|
|
693
|
+
<tr class="separator:a9830d4676fd424b633f8e4d918734296 inherit pro_methods_classSVF_1_1BVDataPTAImpl"><td class="memSeparator" colspan="2"> </td></tr>
|
|
694
|
+
<tr class="inherit_header pro_methods_classSVF_1_1PointerAnalysis"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1PointerAnalysis')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td></tr>
|
|
695
|
+
<tr class="memitem:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a> () const</td></tr>
|
|
696
|
+
<tr class="memdesc:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Return all indirect callsites. <a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">More...</a><br /></td></tr>
|
|
697
|
+
<tr class="separator:a9d3e7753643166465b0d647a75bc145a inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
698
|
+
<tr class="memitem:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs) const</td></tr>
|
|
699
|
+
<tr class="memdesc:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Return function pointer PAGNode at a callsite cs. <a href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">More...</a><br /></td></tr>
|
|
700
|
+
<tr class="separator:adbceaf90526e44192c2fa4aac5468f5f inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
701
|
+
<tr class="memitem:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a> ()</td></tr>
|
|
702
|
+
<tr class="memdesc:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Reset all object node as field-sensitive. <a href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">More...</a><br /></td></tr>
|
|
703
|
+
<tr class="separator:a73fb8e595473e0c7df1dd0de4968ad13 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
704
|
+
<tr class="memitem:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a> ()</td></tr>
|
|
705
|
+
<tr class="memdesc:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="mdescLeft"> </td><td class="mdescRight">Alias check functions to verify correctness of pointer analysis. <a href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">More...</a><br /></td></tr>
|
|
706
|
+
<tr class="separator:a0454332c89e60729956bb7d69a1a24df inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
707
|
+
<tr class="memitem:a7accf4e4db4001716e53d98ce5217ac8 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> fun)</td></tr>
|
|
708
|
+
<tr class="separator:a7accf4e4db4001716e53d98ce5217ac8 inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
709
|
+
<tr class="memitem:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> fun)</td></tr>
|
|
710
|
+
<tr class="separator:ab982e6bbd99a2f9a0a3abbebeeb00dcc inherit pro_methods_classSVF_1_1PointerAnalysis"><td class="memSeparator" colspan="2"> </td></tr>
|
|
714
711
|
<tr class="inherit_header pro_attribs_classSVF_1_1Andersen"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classSVF_1_1Andersen')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classSVF_1_1Andersen.html">SVF::Andersen</a></td></tr>
|
|
715
712
|
<tr class="memitem:a2f88b6035ecb480f7d11afe6bc666541 inherit pro_attribs_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1Andersen.html#a0f65f1881111167bffe1cb2ad05c0a51">CallSite2DummyValPN</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a2f88b6035ecb480f7d11afe6bc666541">callsite2DummyValPN</a></td></tr>
|
|
716
713
|
<tr class="memdesc:a2f88b6035ecb480f7d11afe6bc666541 inherit pro_attribs_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Map an instruction to a dummy obj which created at an indirect callsite, which invokes a heap allocator. <a href="classSVF_1_1Andersen.html#a2f88b6035ecb480f7d11afe6bc666541">More...</a><br /></td></tr>
|
|
@@ -951,51 +948,6 @@ Additional Inherited Members</h2></td></tr>
|
|
|
951
948
|
</div><!-- fragment -->
|
|
952
949
|
</div>
|
|
953
950
|
</div>
|
|
954
|
-
<a id="acdc82c72b14e012551a460fa91a634db"></a>
|
|
955
|
-
<h2 class="memtitle"><span class="permalink"><a href="#acdc82c72b14e012551a460fa91a634db">◆ </a></span>mergeNodeToRep()</h2>
|
|
956
|
-
|
|
957
|
-
<div class="memitem">
|
|
958
|
-
<div class="memproto">
|
|
959
|
-
<table class="mlabels">
|
|
960
|
-
<tr>
|
|
961
|
-
<td class="mlabels-left">
|
|
962
|
-
<table class="memname">
|
|
963
|
-
<tr>
|
|
964
|
-
<td class="memname">void AndersenWaveDiff::mergeNodeToRep </td>
|
|
965
|
-
<td>(</td>
|
|
966
|
-
<td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td>
|
|
967
|
-
<td class="paramname"><em>nodeId</em>, </td>
|
|
968
|
-
</tr>
|
|
969
|
-
<tr>
|
|
970
|
-
<td class="paramkey"></td>
|
|
971
|
-
<td></td>
|
|
972
|
-
<td class="paramtype"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td>
|
|
973
|
-
<td class="paramname"><em>newRepId</em> </td>
|
|
974
|
-
</tr>
|
|
975
|
-
<tr>
|
|
976
|
-
<td></td>
|
|
977
|
-
<td>)</td>
|
|
978
|
-
<td></td><td></td>
|
|
979
|
-
</tr>
|
|
980
|
-
</table>
|
|
981
|
-
</td>
|
|
982
|
-
<td class="mlabels-right">
|
|
983
|
-
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
|
|
984
|
-
</tr>
|
|
985
|
-
</table>
|
|
986
|
-
</div><div class="memdoc">
|
|
987
|
-
|
|
988
|
-
<p>Merge sub node to its rep. </p>
|
|
989
|
-
<p>update rep's propagated points-to set </p>
|
|
990
|
-
|
|
991
|
-
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen</a>.</p>
|
|
992
|
-
|
|
993
|
-
<p class="definition">Definition at line <a class="el" href="AndersenWaveDiff_8cpp_source.html#l00170">170</a> of file <a class="el" href="AndersenWaveDiff_8cpp_source.html">AndersenWaveDiff.cpp</a>.</p>
|
|
994
|
-
<div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">if</span>(nodeId==newRepId)</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">updatePropaPts</a>(newRepId, nodeId);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">Andersen::mergeNodeToRep</a>(nodeId, newRepId);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> }</div><div class="ttc" id="classSVF_1_1Andersen_html_a4baa6fc95d52afa370fc0fabffd42018"><div class="ttname"><a href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">SVF::Andersen::updatePropaPts</a></div><div class="ttdeci">void updatePropaPts(NodeID dstId, NodeID srcId)</div><div class="ttdoc">Handle propagated points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00277">Andersen.h:277</a></div></div>
|
|
995
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00814">Andersen.cpp:814</a></div></div>
|
|
996
|
-
</div><!-- fragment -->
|
|
997
|
-
</div>
|
|
998
|
-
</div>
|
|
999
951
|
<a id="aa0659a2787c1f9b1b6ec62900313475e"></a>
|
|
1000
952
|
<h2 class="memtitle"><span class="permalink"><a href="#aa0659a2787c1f9b1b6ec62900313475e">◆ </a></span>postProcessNode()</h2>
|
|
1001
953
|
|
|
@@ -1022,7 +974,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1022
974
|
<p>Post process node </p>
|
|
1023
975
|
|
|
1024
976
|
<p class="definition">Definition at line <a class="el" href="AndersenWaveDiff_8cpp_source.html#l00108">108</a> of file <a class="el" href="AndersenWaveDiff_8cpp_source.html">AndersenWaveDiff.cpp</a>.</p>
|
|
1025
|
-
<div class="fragment"><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>  <span class="keywordtype">double</span> insertStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><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="comment">// handle load</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1ConstraintNode.html#af69c7e623ab5a36644b6aeabaa1a1e28">outgoingLoadsBegin</a>(), eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a134e8ed040d7749c2b9a02662115f746">outgoingLoadsEnd</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  it != eit; ++it)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#a7f2af504c4fb96e64371a8533c0525fe">handleLoad</a>(nodeId, *it))</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</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>  <span class="comment">// handle store</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a5a90b39f9e5769bde44a673806270714">incomingStoresBegin</a>(), eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a8d58f5224728bb6811f12c94826167f6">incomingStoresEnd</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  it != eit; ++it)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#a775a74d57842b85301daeafe64c8a5c4">handleStore</a>(nodeId, *it))</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">double</span> insertEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">timeOfProcessLoadStore</a> += (insertEnd - insertStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</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#
|
|
977
|
+
<div class="fragment"><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>  <span class="keywordtype">double</span> insertStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><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="comment">// handle load</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1ConstraintNode.html#af69c7e623ab5a36644b6aeabaa1a1e28">outgoingLoadsBegin</a>(), eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a134e8ed040d7749c2b9a02662115f746">outgoingLoadsEnd</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  it != eit; ++it)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#a7f2af504c4fb96e64371a8533c0525fe">handleLoad</a>(nodeId, *it))</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</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>  <span class="comment">// handle store</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a5a90b39f9e5769bde44a673806270714">incomingStoresBegin</a>(), eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a8d58f5224728bb6811f12c94826167f6">incomingStoresEnd</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  it != eit; ++it)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiff.html#a775a74d57842b85301daeafe64c8a5c4">handleStore</a>(nodeId, *it))</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">double</span> insertEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">timeOfProcessLoadStore</a> += (insertEnd - insertStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</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>
|
|
1026
978
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a775a74d57842b85301daeafe64c8a5c4"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a775a74d57842b85301daeafe64c8a5c4">SVF::AndersenWaveDiff::handleStore</a></div><div class="ttdeci">virtual bool handleStore(NodeID id, const ConstraintEdge *store)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00153">AndersenWaveDiff.cpp:153</a></div></div>
|
|
1027
979
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
|
|
1028
980
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
|
|
@@ -1135,15 +1087,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1135
1087
|
<p>Reimplemented from <a class="el" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver< GraphType ></a>.</p>
|
|
1136
1088
|
|
|
1137
1089
|
<p class="definition">Definition at line <a class="el" href="AndersenWaveDiff_8cpp_source.html#l00041">41</a> of file <a class="el" href="AndersenWaveDiff_8cpp_source.html">AndersenWaveDiff.cpp</a>.</p>
|
|
1138
|
-
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// Initialize the nodeStack via a whole SCC detection</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// Nodes in nodeStack are in topological order by default.</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& nodeStack = <a class="code" href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SCCDetect</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">// Process nodeStack and put the changed nodes into workList.</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nodeStack.top();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  nodeStack.pop();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// process nodes in nodeStack</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">processNode</a>(nodeId);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="comment">// This modification is to make WAVE feasible to handle PWC analysis</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Andersen.html#a44d62658bbd2efcef5ff479930b5dce9">mergePWC</a>())</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> tmpWorklist;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// process nodes in nodeStack</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">processNode</a>(nodeId);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  tmpWorklist.push(nodeId);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">while</span> (!tmpWorklist.empty())</div><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>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = tmpWorklist.top();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  tmpWorklist.pop();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(nodeId);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// New nodes will be inserted into workList during processing.</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</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="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// process nodes in worklist</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#aa0659a2787c1f9b1b6ec62900313475e">postProcessNode</a>(nodeId);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</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#
|
|
1090
|
+
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// Initialize the nodeStack via a whole SCC detection</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// Nodes in nodeStack are in topological order by default.</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& nodeStack = <a class="code" href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SCCDetect</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="comment">// Process nodeStack and put the changed nodes into workList.</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nodeStack.top();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  nodeStack.pop();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// process nodes in nodeStack</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">processNode</a>(nodeId);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="comment">// This modification is to make WAVE feasible to handle PWC analysis</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Andersen.html#a44d62658bbd2efcef5ff479930b5dce9">mergePWC</a>())</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> tmpWorklist;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</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="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// process nodes in nodeStack</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">processNode</a>(nodeId);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  tmpWorklist.push(nodeId);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">while</span> (!tmpWorklist.empty())</div><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>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = tmpWorklist.top();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  tmpWorklist.pop();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(nodeId);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="comment">// New nodes will be inserted into workList during processing.</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</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="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// process nodes in worklist</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html#aa0659a2787c1f9b1b6ec62900313475e">postProcessNode</a>(nodeId);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</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>
|
|
1139
1091
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_afa1055cda6c910b24480505efd205895"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">SVF::AndersenWaveDiff::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00091">AndersenWaveDiff.cpp:91</a></div></div>
|
|
1140
1092
|
<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>
|
|
1141
1093
|
<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>
|
|
1142
|
-
<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#
|
|
1143
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00468">Andersen.cpp:468</a></div></div>
|
|
1144
|
-
<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#
|
|
1094
|
+
<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>
|
|
1095
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdoc">collapse positive weight cycles of a graph </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00468">Andersen.cpp:468</a></div></div>
|
|
1096
|
+
<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>
|
|
1145
1097
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_aa0659a2787c1f9b1b6ec62900313475e"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#aa0659a2787c1f9b1b6ec62900313475e">SVF::AndersenWaveDiff::postProcessNode</a></div><div class="ttdeci">virtual void postProcessNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00108">AndersenWaveDiff.cpp:108</a></div></div>
|
|
1146
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00459">Andersen.cpp:459</a></div></div>
|
|
1098
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">virtual void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00459">Andersen.cpp:459</a></div></div>
|
|
1147
1099
|
<div class="ttc" id="classSVF_1_1Andersen_html_a44d62658bbd2efcef5ff479930b5dce9"><div class="ttname"><a href="classSVF_1_1Andersen.html#a44d62658bbd2efcef5ff479930b5dce9">SVF::Andersen::mergePWC</a></div><div class="ttdeci">bool mergePWC() const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00235">Andersen.h:235</a></div></div>
|
|
1148
1100
|
<div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00607">Andersen.cpp:607</a></div></div>
|
|
1149
1101
|
</div><!-- fragment -->
|