svf-tools 1.0.557 → 1.0.558
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/AndersenPWC_8h_source.html +15 -15
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +12 -11
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +11 -10
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +47 -46
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +9 -8
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +35 -34
- package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +19 -18
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +15 -15
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +11 -11
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +20 -19
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +13 -13
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +5 -4
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +67 -69
- package/SVF-doxygen/html/html/PTAStat_8h.html +1 -0
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +70 -76
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +22 -21
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStat_8cpp.html +81 -0
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +85 -0
- package/SVF-doxygen/html/html/SVFStat_8h.html +94 -0
- package/SVF-doxygen/html/html/SVFStat_8h_source.html +103 -0
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +8 -8
- package/SVF-doxygen/html/html/annotated.html +39 -38
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +79 -79
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat-members.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +97 -86
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +24 -23
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +80 -67
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat-members.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +67 -56
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat-members.html +23 -21
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +55 -42
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat-members.html +25 -23
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +59 -48
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +22 -21
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +57 -44
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat-members.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +186 -420
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +33 -32
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +100 -87
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat-members.html +100 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +605 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +26 -24
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +65 -54
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.png +0 -0
- package/SVF-doxygen/html/html/classes.html +50 -50
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
- package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
- package/SVF-doxygen/html/html/files.html +10 -8
- package/SVF-doxygen/html/html/functions_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_c.html +28 -29
- package/SVF-doxygen/html/html/functions_e.html +3 -2
- package/SVF-doxygen/html/html/functions_enum.html +1 -1
- package/SVF-doxygen/html/html/functions_eval_c.html +1 -1
- package/SVF-doxygen/html/html/functions_eval_w.html +1 -1
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_func_c.html +28 -27
- package/SVF-doxygen/html/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +1 -1
- package/SVF-doxygen/html/html/functions_func_p.html +9 -7
- package/SVF-doxygen/html/html/functions_func_s.html +14 -11
- package/SVF-doxygen/html/html/functions_g.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +6 -6
- package/SVF-doxygen/html/html/functions_m.html +2 -1
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +25 -21
- package/SVF-doxygen/html/html/functions_r.html +7 -3
- package/SVF-doxygen/html/html/functions_s.html +24 -22
- package/SVF-doxygen/html/html/functions_t.html +8 -8
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_type_t.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_e.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_s.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +12 -12
- package/SVF-doxygen/html/html/hierarchy.html +47 -46
- package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
- package/SVF-doxygen/html/html/search/all_10.js +13 -13
- package/SVF-doxygen/html/html/search/all_11.js +3 -3
- package/SVF-doxygen/html/html/search/all_12.js +11 -8
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +3 -3
- package/SVF-doxygen/html/html/search/all_19.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +3 -3
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +2 -2
- package/SVF-doxygen/html/html/search/classes_f.js +1 -0
- package/SVF-doxygen/html/html/search/enums_1.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
- package/SVF-doxygen/html/html/search/files_d.js +2 -0
- package/SVF-doxygen/html/html/search/functions_11.js +2 -1
- package/SVF-doxygen/html/html/search/functions_17.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_4.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_5.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/include/Graphs/ICFGStat.h +1 -1
- package/include/Util/PTAStat.h +6 -36
- package/include/Util/SVFStat.h +95 -0
- package/include/WPA/AndersenPWC.h +1 -1
- package/lib/DDA/DDAPass.cpp +1 -0
- package/lib/DDA/DDAStat.cpp +1 -0
- package/lib/Graphs/SVFGReadWrite.cpp +1 -0
- package/lib/Graphs/SVFGStat.cpp +1 -0
- package/lib/SVF-FE/CHGBuilder.cpp +1 -0
- package/lib/Util/PTAStat.cpp +2 -21
- package/lib/Util/SVFStat.cpp +58 -0
- package/lib/WPA/Andersen.cpp +1 -0
- package/lib/WPA/AndersenSCD.cpp +1 -0
- package/lib/WPA/AndersenSFR.cpp +1 -0
- package/lib/WPA/AndersenStat.cpp +1 -0
- package/lib/WPA/AndersenWaveDiff.cpp +1 -0
- package/package.json +1 -1
|
@@ -314,7 +314,7 @@ $(function() {
|
|
|
314
314
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(NodeID id)</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
315
315
|
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html">SVF::AndersenSFR</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
316
316
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html#a0865c50224ffc1e053cf859122f83f75">sfrObjNodes</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html">SVF::AndersenSFR</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
317
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html#
|
|
317
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html#a2d41b49a1474c030ef2324c14467af30">SFRTrait</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1AndersenSFR.html">SVF::AndersenSFR</a></td><td class="entry"></td></tr>
|
|
318
318
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenSCD.html#a98fac4ecfe203666178e2ace39da81e2">solveWorklist</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AndersenSCD.html">SVF::AndersenSCD</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
319
319
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a></td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
320
320
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></td><td class="entry"></td></tr>
|
|
@@ -97,8 +97,8 @@ Public Types</h2></td></tr>
|
|
|
97
97
|
<tr class="separator:ae81c9716b434f0f1e372d0ddf7003910"><td class="memSeparator" colspan="2"> </td></tr>
|
|
98
98
|
<tr class="memitem:a52aa0c2a02a0db6700c4a7a8819d0a5d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AndersenSFR.html#a52aa0c2a02a0db6700c4a7a8819d0a5d">FieldReps</a></td></tr>
|
|
99
99
|
<tr class="separator:a52aa0c2a02a0db6700c4a7a8819d0a5d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
100
|
-
<tr class="memitem:
|
|
101
|
-
<tr class="separator:
|
|
100
|
+
<tr class="memitem:a2d41b49a1474c030ef2324c14467af30"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, std::pair< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AndersenSFR.html#a2d41b49a1474c030ef2324c14467af30">SFRTrait</a></td></tr>
|
|
101
|
+
<tr class="separator:a2d41b49a1474c030ef2324c14467af30"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
102
|
<tr class="inherit_header pub_types_classSVF_1_1AndersenSCD"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1AndersenSCD')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1AndersenSCD.html">SVF::AndersenSCD</a></td></tr>
|
|
103
103
|
<tr class="memitem:a88ab40d553f49e173f9c53b32575ccda inherit pub_types_classSVF_1_1AndersenSCD"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AndersenSCD.html#a88ab40d553f49e173f9c53b32575ccda">NodeToNodeMap</a></td></tr>
|
|
104
104
|
<tr class="separator:a88ab40d553f49e173f9c53b32575ccda inherit pub_types_classSVF_1_1AndersenSCD"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -845,14 +845,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
845
845
|
|
|
846
846
|
</div>
|
|
847
847
|
</div>
|
|
848
|
-
<a id="
|
|
849
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
848
|
+
<a id="a2d41b49a1474c030ef2324c14467af30"></a>
|
|
849
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2d41b49a1474c030ef2324c14467af30">◆ </a></span>SFRTrait</h2>
|
|
850
850
|
|
|
851
851
|
<div class="memitem">
|
|
852
852
|
<div class="memproto">
|
|
853
853
|
<table class="memname">
|
|
854
854
|
<tr>
|
|
855
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, pair<<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>> > <a class="el" href="classSVF_1_1AndersenSFR.html#
|
|
855
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, std::pair<<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>> > <a class="el" href="classSVF_1_1AndersenSFR.html#a2d41b49a1474c030ef2324c14467af30">SVF::AndersenSFR::SFRTrait</a></td>
|
|
856
856
|
</tr>
|
|
857
857
|
</table>
|
|
858
858
|
</div><div class="memdoc">
|
|
@@ -961,7 +961,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
961
961
|
<p class="definition">Definition at line <a class="el" href="AndersenPWC_8h_source.html#l00123">123</a> of file <a class="el" href="AndersenPWC_8h_source.html">AndersenPWC.h</a>.</p>
|
|
962
962
|
<div class="fragment"><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_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenSFR.html#a61967331f111832d2374524605591499">AndersenSFR</a>(_pag);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a>-><a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="ttc" id="classSVF_1_1AndersenSFR_html_a61967331f111832d2374524605591499"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a61967331f111832d2374524605591499">SVF::AndersenSFR::AndersenSFR</a></div><div class="ttdeci">AndersenSFR(SVFIR *_pag, PTATY type=AndersenSFR_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenPWC_8h_source.html#l00117">AndersenPWC.h:117</a></div></div>
|
|
963
963
|
<div class="ttc" id="classSVF_1_1AndersenSFR_html_abcf0f758174f224c5da066d0115beefb"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">SVF::AndersenSFR::sfrAndersen</a></div><div class="ttdeci">static AndersenSFR * sfrAndersen</div><div class="ttdef"><b>Definition:</b> <a href="AndersenPWC_8h_source.html#l00110">AndersenPWC.h:110</a></div></div>
|
|
964
|
-
<div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
964
|
+
<div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00103">Andersen.cpp:103</a></div></div>
|
|
965
965
|
</div><!-- fragment -->
|
|
966
966
|
</div>
|
|
967
967
|
</div>
|
|
@@ -1012,8 +1012,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1012
1012
|
</div><div class="memdoc">
|
|
1013
1013
|
<p>Expand field IDs in target pts based on the initials and offsets </p>
|
|
1014
1014
|
|
|
1015
|
-
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#
|
|
1016
|
-
<div class="fragment"><div class="line"><a name="
|
|
1015
|
+
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#l00120">120</a> of file <a class="el" href="AndersenSFR_8cpp_source.html">AndersenSFR.cpp</a>.</p>
|
|
1016
|
+
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="classSVF_1_1AndersenBase.html#a9f453ec1b4236b8194ae590981217259">numOfFieldExpand</a>++;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">while</span> (!initials.empty())</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> init = *initials.begin();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  initials.erase(init);</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="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9">isBlkObjOrConstantObj</a>(init))</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  expandPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(init);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* initPN = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(init);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* obj = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(init);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxLimit = obj-><a class="code" href="classSVF_1_1MemObj.html#a51be7ad70bc2c6a4230bd2f6b86bdc88">getMaxFieldOffsetLimit</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> initOffset;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a> *gepNode = SVFUtil::dyn_cast<GepObjVar>(initPN))</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  initOffset = gepNode->getConstantFieldIdx();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<FIObjVar>(initPN) || SVFUtil::isa<DummyObjVar>(initPN))</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  initOffset = 0;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"Not an object node!!"</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<s32_t></a> offsets;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  offsets.insert(<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="comment">// calculate offsets</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">bool</span> loopFlag = <span class="keyword">true</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">while</span> (loopFlag)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  loopFlag = <span class="keyword">false</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> _f : offsets)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> _s : strides)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> _f1 = _f + _s;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  loopFlag = (offsets.find(_f1) == offsets.end()) && ( (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)(initOffset + _f1) < maxLimit);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span> (loopFlag)</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  offsets.insert(_f1);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">// get gep objs</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> _f : offsets)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepId = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a3f727a2822fb18a14ce9e10c6534cf5a">getGepObjVar</a>(init, <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>(_f));</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  initials.erase(gepId); <span class="comment">// gep id in initials should be removed to avoid redundant derivation</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  expandPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(gepId);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_a8ba74f82c1e796f2888ba34bc8355ce9"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9">SVF::ConstraintGraph::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00310">ConsG.h:310</a></div></div>
|
|
1017
1017
|
<div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00378">SymbolTableInfo.h:378</a></div></div>
|
|
1018
1018
|
<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>
|
|
1019
1019
|
<div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00410">SVFIR.h:410</a></div></div>
|
|
@@ -1064,15 +1064,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1064
1064
|
|
|
1065
1065
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen</a>.</p>
|
|
1066
1066
|
|
|
1067
|
-
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#
|
|
1068
|
-
<div class="fragment"><div class="line"><a name="
|
|
1067
|
+
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#l00042">42</a> of file <a class="el" href="AndersenSFR_8cpp_source.html">AndersenSFR.cpp</a>.</p>
|
|
1068
|
+
<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">AndersenSCD::initialize</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1Andersen.html#a1462bdde3748b1513e92a119b8a43794">setDetectPWC</a>(<span class="keyword">false</span>); <span class="comment">// SCC will detect only copy edges</span></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="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">csc</a>)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">csc</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CSC.html">CSC</a>(<a class="code" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a>, <a class="code" href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">scc</a>);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">mergeSccCycle</a>();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a21709a0f33b6238afe735cc9fe49ff70"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a21709a0f33b6238afe735cc9fe49ff70">SVF::WPASolver::scc</a></div><div class="ttdeci">SCC * scc</div><div class="ttdoc">SCC. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00197">WPASolver.h:197</a></div></div>
|
|
1069
1069
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a87e9adb7fb0e0a42abaf90adac27a9c0"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">SVF::WPASolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00194">WPASolver.h:194</a></div></div>
|
|
1070
1070
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
|
|
1071
1071
|
<div class="ttc" id="classSVF_1_1AndersenSFR_html_aa39c668b1473ac4fb99da3aa736c9edb"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">SVF::AndersenSFR::csc</a></div><div class="ttdeci">CSC * csc</div><div class="ttdef"><b>Definition:</b> <a href="AndersenPWC_8h_source.html#l00112">AndersenPWC.h:112</a></div></div>
|
|
1072
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_a20617a69c112ad423b1b5021e48a8548"><div class="ttname"><a href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1072
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_a20617a69c112ad423b1b5021e48a8548"><div class="ttname"><a href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00187">Andersen.cpp:187</a></div></div>
|
|
1073
1073
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
|
|
1074
1074
|
<div class="ttc" id="classSVF_1_1Andersen_html_a1462bdde3748b1513e92a119b8a43794"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1462bdde3748b1513e92a119b8a43794">SVF::Andersen::setDetectPWC</a></div><div class="ttdeci">void setDetectPWC(bool flag)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00227">Andersen.h:227</a></div></div>
|
|
1075
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1075
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00479">Andersen.cpp:479</a></div></div>
|
|
1076
1076
|
<div class="ttc" id="classSVF_1_1CSC_html"><div class="ttname"><a href="classSVF_1_1CSC.html">SVF::CSC</a></div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00049">CSC.h:49</a></div></div>
|
|
1077
1077
|
</div><!-- fragment -->
|
|
1078
1078
|
</div>
|
|
@@ -1121,11 +1121,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1121
1121
|
|
|
1122
1122
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen</a>.</p>
|
|
1123
1123
|
|
|
1124
|
-
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#
|
|
1125
|
-
<div class="fragment"><div class="line"><a name="
|
|
1124
|
+
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#l00069">69</a> of file <a class="el" href="AndersenSFR_8cpp_source.html">AndersenSFR.cpp</a>.</p>
|
|
1125
|
+
<div class="fragment"><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>  <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="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (!node-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">empty</a>())</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* newRepNode = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(newRepId);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  newRepNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a> |= node-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>;</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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">Andersen::mergeSrcToTgt</a>(nodeId, newRepId);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> }</div><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>
|
|
1126
1126
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a873ba0c14dc57bd603c4a6b4d73e4278"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">SVF::ConstraintNode::strides</a></div><div class="ttdeci">NodeBS strides</div><div class="ttdoc">For stride-based field representation. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00071">ConsGNode.h:71</a></div></div>
|
|
1127
1127
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
|
|
1128
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1128
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00779">Andersen.cpp:779</a></div></div>
|
|
1129
1129
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00139">Andersen.h:139</a></div></div>
|
|
1130
1130
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01097">SparseBitVector.h:1097</a></div></div>
|
|
1131
1131
|
</div><!-- fragment -->
|
|
@@ -1168,21 +1168,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1168
1168
|
|
|
1169
1169
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">SVF::Andersen</a>.</p>
|
|
1170
1170
|
|
|
1171
|
-
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#
|
|
1172
|
-
<div class="fragment"><div class="line"><a name="
|
|
1171
|
+
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#l00084">84</a> of file <a class="el" href="AndersenSFR_8cpp_source.html">AndersenSFR.cpp</a>.</p>
|
|
1172
|
+
<div class="fragment"><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>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = dst-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (!dst-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">empty</a>() && SVFUtil::isa<NormalGepCGEdge>(edge)) <span class="comment">// dst is in pwc</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpDstPts;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> srcInits = pts - <a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(dstId);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (!srcInits.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> sortSrcInits;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd : srcInits)</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  sortSrcInits.insert(ptd);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>>(edge)->getConstantFieldIdx();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf">fieldExpand</a>(sortSrcInits, offset, dst-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>, tmpDstPts);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> </div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(dstId, tmpDstPts))</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(dstId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">Andersen::processGepPts</a>(pts, edge);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</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>
|
|
1173
1173
|
<div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00208">Andersen.h:208</a></div></div>
|
|
1174
1174
|
<div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set< NodeID > NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00122">SVFBasicTypes.h:122</a></div></div>
|
|
1175
1175
|
<div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00212">Andersen.h:212</a></div></div>
|
|
1176
1176
|
<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>
|
|
1177
1177
|
<div class="ttc" id="classSVF_1_1NormalGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html">SVF::NormalGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00265">ConsGEdge.h:265</a></div></div>
|
|
1178
1178
|
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
1179
|
-
<div class="ttc" id="classSVF_1_1AndersenSFR_html_aa768e5cd0a762d17e2ec2baaad0486bf"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf">SVF::AndersenSFR::fieldExpand</a></div><div class="ttdeci">void fieldExpand(NodeSet &initials, s32_t offset, NodeBS &strides, PointsTo &expandPts)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#
|
|
1179
|
+
<div class="ttc" id="classSVF_1_1AndersenSFR_html_aa768e5cd0a762d17e2ec2baaad0486bf"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf">SVF::AndersenSFR::fieldExpand</a></div><div class="ttdeci">void fieldExpand(NodeSet &initials, s32_t offset, NodeBS &strides, PointsTo &expandPts)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#l00120">AndersenSFR.cpp:120</a></div></div>
|
|
1180
1180
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
|
|
1181
1181
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
|
|
1182
1182
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a873ba0c14dc57bd603c4a6b4d73e4278"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">SVF::ConstraintNode::strides</a></div><div class="ttdeci">NodeBS strides</div><div class="ttdoc">For stride-based field representation. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00071">ConsGNode.h:71</a></div></div>
|
|
1183
1183
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
|
|
1184
1184
|
<div class="ttc" id="cJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
|
|
1185
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ac6b1efcaadfed48c226701ecf6bac55e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">SVF::Andersen::processGepPts</a></div><div class="ttdeci">virtual bool processGepPts(const PointsTo &pts, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1185
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ac6b1efcaadfed48c226701ecf6bac55e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">SVF::Andersen::processGepPts</a></div><div class="ttdeci">virtual bool processGepPts(const PointsTo &pts, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00391">Andersen.cpp:391</a></div></div>
|
|
1186
1186
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
|
|
1187
1187
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
1188
1188
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
|
|
@@ -1216,10 +1216,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1216
1216
|
|
|
1217
1217
|
<p>Reimplemented from <a class="el" href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">SVF::AndersenSCD</a>.</p>
|
|
1218
1218
|
|
|
1219
|
-
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#
|
|
1220
|
-
<div class="fragment"><div class="line"><a name="
|
|
1219
|
+
<p class="definition">Definition at line <a class="el" href="AndersenSFR_8cpp_source.html#l00059">59</a> of file <a class="el" href="AndersenSFR_8cpp_source.html">AndersenSFR.cpp</a>.</p>
|
|
1220
|
+
<div class="fragment"><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="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">AndersenSCD::PWCDetect</a>();</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">csc</a>-><a class="code" href="classSVF_1_1CSC.html#a049dc6bd348b1108a8a9726d50a4f280">find</a>(<a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()->topoNodeStack());</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> }</div><div class="ttc" id="classSVF_1_1AndersenSFR_html_aa39c668b1473ac4fb99da3aa736c9edb"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">SVF::AndersenSFR::csc</a></div><div class="ttdeci">CSC * csc</div><div class="ttdef"><b>Definition:</b> <a href="AndersenPWC_8h_source.html#l00112">AndersenPWC.h:112</a></div></div>
|
|
1221
1221
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
|
|
1222
|
-
<div class="ttc" id="classSVF_1_1AndersenSCD_html_af155524f6f78424a846fe2eb575bb40a"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">SVF::AndersenSCD::PWCDetect</a></div><div class="ttdeci">virtual void PWCDetect()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSCD_8cpp_source.html#
|
|
1222
|
+
<div class="ttc" id="classSVF_1_1AndersenSCD_html_af155524f6f78424a846fe2eb575bb40a"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">SVF::AndersenSCD::PWCDetect</a></div><div class="ttdeci">virtual void PWCDetect()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSCD_8cpp_source.html#l00126">AndersenSCD.cpp:126</a></div></div>
|
|
1223
1223
|
<div class="ttc" id="classSVF_1_1CSC_html_a049dc6bd348b1108a8a9726d50a4f280"><div class="ttname"><a href="classSVF_1_1CSC.html#a049dc6bd348b1108a8a9726d50a4f280">SVF::CSC::find</a></div><div class="ttdeci">void find(NodeStack &candidates)</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8cpp_source.html#l00049">CSC.cpp:49</a></div></div>
|
|
1224
1224
|
</div><!-- fragment -->
|
|
1225
1225
|
</div>
|
|
@@ -80,16 +80,16 @@ $(function() {
|
|
|
80
80
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a257d814ef3983c4f513d37161d376719">AndersenStat</a>(AndersenBase *p)</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"></td></tr>
|
|
81
81
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#adb0edbe88a74e5e89921bcfafa4759c6">AveragePointsToSetSize</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
82
82
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1649c9f893c5b9ec2d57a399bc050030">AverageTopLevPointsToSetSize</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
83
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
84
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
83
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#af2eb88d1563be9e6290a5fc69bec3bbe">callgraphStat</a>() override</td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
84
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454">ClockType</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
85
85
|
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a3f5739454b1f4e03b4388a4ba5730e15">CollapseTime</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
86
86
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#ae35507bebe6a1a9a64ab379473c85cad">collectCycleInfo</a>(ConstraintGraph *consCG)</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"></td></tr>
|
|
87
87
|
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a5ad75166a80052f9e6fdd14ff7c8b948">constraintGraphStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"></td></tr>
|
|
88
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
89
|
-
<tr><td class="entry"><a class="el" href="
|
|
88
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454ad58693e596aa4088fa4a05065f9c0ffa">CPU</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
89
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a1b7f1e3381de87f75f06cddb9c6c1ec1">endClk</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
90
90
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a267ba4aac2e7ceb65f008f9486d3d9f7">endTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"></td></tr>
|
|
91
|
-
<tr><td class="entry"><a class="el" href="
|
|
92
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
91
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">generalNumMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
92
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>(bool mark=false)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
93
93
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a5b4095f427c9c7b9ec0db497ba33baea">localVarInRecursion</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"></td></tr>
|
|
94
94
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ab754f7768ffcd6f232b8cdf0fef6fc4e">MaxNumOfNodesInSCC</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
95
95
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#af2b45aab2eee96a1cabba3025e4375a2">MaxPointsToSetSize</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
@@ -132,11 +132,11 @@ $(function() {
|
|
|
132
132
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a07a1db62ddba50bda787b2985ef8d135">NumOfSfr</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
133
133
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ae05503909688a17dc1f282d1d029d24e">NumOfStackObjs</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
134
134
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a656ad9980ff05af396ed6754c50916e7">NumOfStores</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
135
|
-
<tr><td class="entry"><a class="el" href="
|
|
135
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ab810863d70cb2f5b4e312d07eae51227">NUMStatMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
136
136
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43">performStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
137
|
-
<tr><td class="entry"><a class="el" href="
|
|
138
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
139
|
-
<tr><td class="entry"><a class="el" href="
|
|
137
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ab03780f736bed7861c9be14637e37ba3">performStatPerQuery</a>(NodeID)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
138
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#aca3e99ad83bddabee1dd565522691c78">printStat</a>(std::string str="") override</td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
139
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a2dd8ce8bb1970344533babb9fc8ddd02">printStatPerQuery</a>(NodeID, const PointsTo &)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
140
140
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a95a0a7861731072baeaf75354531875f">ProcessCopyGepTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
141
141
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#aeb6a52c31ecd004670e85f24b01d75d6">ProcessLoadStoreTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
142
142
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a8af8dd60987c4c99ea3727d9db87c187">pta</a></td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
@@ -144,20 +144,22 @@ $(function() {
|
|
|
144
144
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"></td></tr>
|
|
145
145
|
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ad4c1cf3750341f73987c37745f3bd2aa">SCCDetectionTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
146
146
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a8c4101e697057269def501d14a987287">SCCMergeTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
147
|
-
<tr><td class="entry"><a class="el" href="
|
|
147
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a730cc814fede3edb563aa9957c869e9e">startClk</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
148
148
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a59e0fe6fa506f1cf319b5acaf9d28be9">startTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"></td></tr>
|
|
149
149
|
<tr><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">statNullPtr</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"></td></tr>
|
|
150
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
151
|
-
<tr><td class="entry"><a class="el" href="
|
|
152
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
153
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
154
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
155
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
156
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
157
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
158
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#
|
|
159
|
-
<tr><td class="entry"><a class="el" href="
|
|
160
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
150
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#ad22433722f7c71df19a891a5b5039d26">SVFStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
151
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#aeded7780a3f826b3efab971807e2dd98">TIMEStatMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
152
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a5383691a34426a1a997b5eed387f1831">timeStatMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
153
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a25001a6d794d91056f37d954d9660910">TotalAnalysisTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
154
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a3afc0a36232a0388d8aa42c68219cb26">TotalNumOfEdges</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
155
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#ac0e0a1c49d33e02f5cc0f21565ce627d">TotalNumOfFieldObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
156
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#acd9848f15aa359550e86c7b857df84ed">TotalNumOfObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
157
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1a4d418fd9e5413e7ffbbfe57f5e0560">TotalNumOfPointers</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
158
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894">UpdateCallGraphTime</a></td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
159
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a4f47da512cfa8f94fddaddc65334b454a4daec28631d54e09b587e78707ab54fc">Wall</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"></td></tr>
|
|
160
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html#a31c59fe771f44b32a7d58145eb44a971">~AndersenStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
161
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html#a1e5294c49b8bd8a850e938dccd5800a5">~PTAStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
162
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html#a135ac9973ebfef4680d343320453ff52">~SVFStat</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStat.html">SVF::SVFStat</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
161
163
|
</table></div><!-- contents -->
|
|
162
164
|
<!-- start footer part -->
|
|
163
165
|
<hr class="footer"/><address class="footer"><small>
|