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
|
@@ -585,10 +585,8 @@ Protected Member Functions</h2></td></tr>
|
|
|
585
585
|
<tr class="separator:abe0a304039d1bd2cfd7befd32fdcde2b inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
586
586
|
<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>
|
|
587
587
|
<tr class="separator:aa04deb39cd024c051f30ac43d1d62b34 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
588
|
-
<tr class="memitem:a138b403af0370ad6fdf8cc6af0530392 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#a138b403af0370ad6fdf8cc6af0530392">collapsePWCNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
|
|
589
|
-
<tr class="memdesc:a138b403af0370ad6fdf8cc6af0530392 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">collapse positive weight cycles of a graph <a href="classSVF_1_1WPASolver.html#a138b403af0370ad6fdf8cc6af0530392">More...</a><br /></td></tr>
|
|
590
|
-
<tr class="separator:a138b403af0370ad6fdf8cc6af0530392 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
591
588
|
<tr class="memitem:a79c2b3f10f3f813396d8caaa1f7bc62a 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#a79c2b3f10f3f813396d8caaa1f7bc62a">collapseFields</a> ()</td></tr>
|
|
589
|
+
<tr class="memdesc:a79c2b3f10f3f813396d8caaa1f7bc62a inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">collapse positive weight cycles of a graph <a href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">More...</a><br /></td></tr>
|
|
592
590
|
<tr class="separator:a79c2b3f10f3f813396d8caaa1f7bc62a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
593
591
|
<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>
|
|
594
592
|
<tr class="separator:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -956,7 +954,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
956
954
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a38f3ed35185addf701d4401bfdd5f29b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a38f3ed35185addf701d4401bfdd5f29b">SVF::FlowSensitive::addrTime</a></div><div class="ttdeci">double addrTime</div><div class="ttdoc">time of handling address edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00308">FlowSensitive.h:308</a></div></div>
|
|
957
955
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_abdc30e45347579986c42795a436a1251"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#abdc30e45347579986c42795a436a1251">SVF::FlowSensitive::numOfProcessedActualParam</a></div><div class="ttdeci">u32_t numOfProcessedActualParam</div><div class="ttdoc">Number of processed Store node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00293">FlowSensitive.h:293</a></div></div>
|
|
958
956
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_ae048cc5350cf2b075c05f5d84777a3c5"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae048cc5350cf2b075c05f5d84777a3c5">SVF::FlowSensitive::numOfProcessedFormalRet</a></div><div class="ttdeci">u32_t numOfProcessedFormalRet</div><div class="ttdoc">Number of processed actual param node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00294">FlowSensitive.h:294</a></div></div>
|
|
959
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
957
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00177">WPASolver.h:177</a></div></div>
|
|
960
958
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a9f3fe97202db8170fa9f47c5684bce75"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a9f3fe97202db8170fa9f47c5684bce75">SVF::FlowSensitive::numOfNodesInSCC</a></div><div class="ttdeci">u32_t numOfNodesInSCC</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00299">FlowSensitive.h:299</a></div></div>
|
|
961
959
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_afc140b6c8e78dc2d962f64fdf53b1e07"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">SVF::FlowSensitive::updateCallGraphTime</a></div><div class="ttdeci">double updateCallGraphTime</div><div class="ttdoc">time of updating call graph </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00314">FlowSensitive.h:314</a></div></div>
|
|
962
960
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a669e8f1dd8572b7dcff373c9787a923d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a669e8f1dd8572b7dcff373c9787a923d">SVF::FlowSensitive::numOfProcessedStore</a></div><div class="ttdeci">u32_t numOfProcessedStore</div><div class="ttdoc">Number of processed Load node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00292">FlowSensitive.h:292</a></div></div>
|
|
@@ -1047,7 +1045,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1047
1045
|
<p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00082">82</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
|
|
1048
1046
|
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">Options::FsTimeLimit</a>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">initialize</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="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">"Start Solving Constraints\n"</span>));</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">do</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span>(0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>)</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">dumpStat</a>();</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="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>-><a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()));</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">"Finish Solving Constraints\n"</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="comment">// Reset the time-up alarm; analysis is done.</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</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="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-><a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">solveTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#afed358369102f01f6fe88b1433e704c3">finalize</a>();</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00267">PointerAnalysis.h:267</a></div></div>
|
|
1049
1047
|
<div class="ttc" id="classSVF_1_1Options_html_ad03c4697dd4da2b6adde112e3ee1884b"><div class="ttname"><a href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">SVF::Options::FsTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > FsTimeLimit</div><div class="ttdoc">Time limit for the main phase (i.e., the actual solving) of FS analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00071">Options.h:71</a></div></div>
|
|
1050
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
1048
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00204">WPASolver.h:204</a></div></div>
|
|
1051
1049
|
<div class="ttc" id="classSVF_1_1WPASolver_html_af1bb670efde7006e3e99b3735e4fc4cc"><div class="ttname"><a href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00112">WPASolver.h:112</a></div></div>
|
|
1052
1050
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab83b827ea42d3a61aad20b1a1485d866"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">SVF::PointerAnalysis::dumpStat</a></div><div class="ttdeci">void dumpStat()</div><div class="ttdoc">Dump the statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00179">PointerAnalysis.cpp:179</a></div></div>
|
|
1053
1051
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
|
|
@@ -1911,7 +1909,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1911
1909
|
<p>Reimplemented in <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#a8cad0df2ae7df81dc2a966e694a0f7a2">SVF::VersionedFlowSensitive</a>.</p>
|
|
1912
1910
|
|
|
1913
1911
|
<p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00180">180</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
|
|
1914
|
-
<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(nodeId);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a979f89495966d71f9b470d832384ebd6">processSVFGNode</a>(node))</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">propagate</a>(&node);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a9622f0b7b16694b0c74b07834f598e67">clearAllDFOutVarFlag</a>(node);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a541ef7fda44ce79086c30b07a5f6126c"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">SVF::WPASolver::propagate</a></div><div class="ttdeci">virtual void propagate(GNODE *v)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
1912
|
+
<div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(nodeId);</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a979f89495966d71f9b470d832384ebd6">processSVFGNode</a>(node))</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">propagate</a>(&node);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a9622f0b7b16694b0c74b07834f598e67">clearAllDFOutVarFlag</a>(node);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a541ef7fda44ce79086c30b07a5f6126c"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">SVF::WPASolver::propagate</a></div><div class="ttdeci">virtual void propagate(GNODE *v)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00131">WPASolver.h:131</a></div></div>
|
|
1915
1913
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00246">FlowSensitive.h:246</a></div></div>
|
|
1916
1914
|
<div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
1917
1915
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a9622f0b7b16694b0c74b07834f598e67"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a9622f0b7b16694b0c74b07834f598e67">SVF::FlowSensitive::clearAllDFOutVarFlag</a></div><div class="ttdeci">void clearAllDFOutVarFlag(const SVFGNode *stmt)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00212">FlowSensitive.h:212</a></div></div>
|
|
@@ -2881,7 +2879,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2881
2879
|
|
|
2882
2880
|
<p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00712">712</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
|
|
2883
2881
|
<div class="fragment"><div class="line"><a name="l00713"></a><span class="lineno"> 713</span> {</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">for</span> (SVFGEdgeSetTy::const_iterator it = edges.begin(), eit = edges.end();</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  it != eit; ++it)</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  {</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *it;</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">if</span> (SVFUtil::isa<PHISVFGNode>(dstNode))</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(dstNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  }</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<FormalINSVFGNode>(dstNode) || SVFUtil::isa<ActualOUTSVFGNode>(dstNode))</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span> </div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& pts = SVFUtil::cast<IndirectSVFGEdge>(edge)->getPointsTo();</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">NodeBS::iterator</a> ptdIt = pts.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), ptdEit = pts.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>(); ptdIt != ptdEit; ++ptdIt)</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  {</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd = *ptdIt;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span> </div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a9e7fbc4c1d056fbef07498de8cbb1cd9">propVarPtsAfterCGUpdated</a>(ptd, srcNode, dstNode))</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(ptd))</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  {</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& allFields = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">getAllFieldsObjVars</a>(ptd);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">NodeBS::iterator</a> fieldIt = allFields.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), fieldEit = allFields.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>();</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  fieldIt != fieldEit; ++fieldIt)</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  {</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FlowSensitive.html#a9e7fbc4c1d056fbef07498de8cbb1cd9">propVarPtsAfterCGUpdated</a>(*fieldIt, srcNode, dstNode))</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  }</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  }</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  }</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">if</span> (changed)</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(dstNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  }</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  }</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div><div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00534">SparseBitVector.h:534</a></div></div>
|
|
2884
|
-
<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#
|
|
2882
|
+
<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>
|
|
2885
2883
|
<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>
|
|
2886
2884
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
2887
2885
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS & getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00345">PointerAnalysis.h:345</a></div></div>
|
|
@@ -683,7 +683,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
683
683
|
<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>  assert(SVFUtil::isa<FlowSensitive>(<a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>) && <span class="stringliteral">"not an flow-sensitive pta pass!! what else??"</span>);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classSVF_1_1PTAStat.html#afe854f7416ea408104721a083ee9fee0">endClk</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>  <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab4c205136b22a13b54ceb48135730d23">clearStat</a>();</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_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// stat null ptr number</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770">statNullPtr</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>  <span class="comment">// stat points-to set information</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75">statPtsSize</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">// stat address-taken variables' points-to</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a81785227a688389c68171a1fbd55fa9b">statAddrVarPtsSize</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fiObjNumber = 0;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fsObjNumber = 0;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<SymID></a> nodeSet;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVFIR::const_iterator</a> nodeIt = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), nodeEit = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); nodeIt != nodeEit; nodeIt++)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nodeIt->first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = nodeIt->second;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span>(SVFUtil::isa<ObjVar>(pagNode))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> * memObj = pag-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(nodeId);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="namespaceSVF.html#ad11fe2412b2182365a662ff0e4639b48">SymID</a> baseId = memObj-><a class="code" href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">getId</a>();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> (nodeSet.insert(baseId).second)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (memObj-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  fiObjNumber++;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  fsObjNumber++;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</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>  }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#ad1a7e7aec8f272017be7d0b6acda86a4">NumberOfFieldInsensitiveObj</a>] = fiObjNumber;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#ab62eb21c7dc03f68b0509c31451b2e98">NumberOfFieldSensitiveObj</a>] = fsObjNumber;</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>  <span class="keywordtype">unsigned</span> numOfCopy = 0;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">unsigned</span> numOfStore = 0;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1VFG.html#a241d0489bf0315460e2b07db87e7847c">SVFG::iterator</a> svfgNodeIt = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>();</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="classSVF_1_1VFG.html#a241d0489bf0315460e2b07db87e7847c">SVFG::iterator</a> svfgNodeEit = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">for</span> (; svfgNodeIt != svfgNodeEit; ++svfgNodeIt)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* svfgNode = svfgNodeIt->second;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span> (SVFUtil::isa<CopySVFGNode>(svfgNode))</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  numOfCopy++;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<StoreSVFGNode>(svfgNode))</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  numOfStore++;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497">PTAStat::performStat</a>();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a25001a6d794d91056f37d954d9660910">TotalAnalysisTime</a>] = (<a class="code" href="classSVF_1_1PTAStat.html#a267ba4aac2e7ceb65f008f9486d3d9f7">endTime</a> - <a class="code" href="classSVF_1_1PTAStat.html#a59e0fe6fa506f1cf319b5acaf9d28be9">startTime</a>)/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"SolveTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">solveTime</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"SCCTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#af496fa9aa2f4d59594950b2ad121deff">sccTime</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"ProcessTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ae2e58d18abcdddc7a5a87f4edc5f3b72">processTime</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"PropagationTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">propagationTime</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"DirectPropaTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ae086de68233375be42185f0af706687a">directPropaTime</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"IndirectPropaTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a2feaa4b7a72989b311e9084a81320254">indirectPropaTime</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"Strong/WeakUpdTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226">updateTime</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AddrTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a38f3ed35185addf701d4401bfdd5f29b">addrTime</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"CopyTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">copyTime</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"GepTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a282126e5b67ed4e19aa40c81180b8290">gepTime</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"LoadTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067">loadTime</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"StoreTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">storeTime</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"UpdateCGTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">updateCallGraphTime</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"PhiTime"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#aee7d59b7ad00cf1cf6e3fba19513aa42">phiTime</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a1a4d418fd9e5413e7ffbbfe57f5e0560">TotalNumOfPointers</a>] = pag-><a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>() + pag-><a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#acd9848f15aa359550e86c7b857df84ed">TotalNumOfObjects</a>] = pag-><a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>() + pag-><a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</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>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a218748b401bdd3d5eebd45eea0026b12">NumOfPointers</a>] = pag-><a class="code" href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">getValueNodeNum</a>();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a5c09f41916e40d784a63e301584511f9">NumOfMemObjects</a>] = pag-><a class="code" href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">getObjectNodeNum</a>();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a164249b9d35606387e628529c643d119">NumOfGepFieldPointers</a>] = pag-><a class="code" href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">getFieldValNodeNum</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a16f9bdb5387471d0bd825c4a9cbcb22e">NumOfGepFieldObjects</a>] = pag-><a class="code" href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">getFieldObjNodeNum</a>();</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="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a97a8b662356fc89cdd2cb9463fa5578b">NumOfCopys</a>] = numOfCopy;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a656ad9980ff05af396ed6754c50916e7">NumOfStores</a>] = numOfStore;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#ae95fb0771a71ead27da79a45cac47a36">NumOfIterations</a>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>;</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>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#ad51d2bd924f049e440b3d0dd0d423524">NumOfIndirectEdgeSolved</a>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>();</div><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>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<a class="code" href="classSVF_1_1PTAStat.html#a1211e1c7f16b715f32ecdef83f39a8c6">NumOfNullPointer</a>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aea1cb2baea2f3c4d2ef62656a56bd077">_NumOfNullPtr</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PointsToConstPtr"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a767a935ec5bacd97f4fa79a05c165cc2">_NumOfConstantPtr</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PointsToBlkPtr"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a74ab9e235e08e4840223ddf0599a9da7">_NumOfBlackholePtr</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"StrongUpdates"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">svfgHasSU</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aa39c5d81cef922d7a0f98913dbf51fb0">_NumOfSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aa39c5d81cef922d7a0f98913dbf51fb0">_NumOfSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"FI_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2e9a786af3bce4b345d88ff05cd71f0f">_NumOfFormalInSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"FI_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2e9a786af3bce4b345d88ff05cd71f0f">_NumOfFormalInSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"FO_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a1cfd15cd46178718ea459f79738e0b69">_NumOfFormalOutSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"FO_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a1cfd15cd46178718ea459f79738e0b69">_NumOfFormalOutSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"AI_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a0530fa56a9cea05d25ee350e9db9ed2a">_NumOfActualInSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"AI_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a0530fa56a9cea05d25ee350e9db9ed2a">_NumOfActualInSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"AO_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a3ac011649b3c0ced46283265ba88dd0e">_NumOfActualOutSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"AO_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a3ac011649b3c0ced46283265ba88dd0e">_NumOfActualOutSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"LD_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab6fdf88fe931ead9a9b8f353c547c4ae">_NumOfLoadSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"LD_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab6fdf88fe931ead9a9b8f353c547c4ae">_NumOfLoadSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ST_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae0db364bf6657c770deabbe75d901a46">_NumOfStoreSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ST_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae0db364bf6657c770deabbe75d901a46">_NumOfStoreSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PHI_SNodesHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a60741c38448e909388942a5e9f5b5ef4">_NumOfMSSAPhiSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PHI_SNodesHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a60741c38448e909388942a5e9f5b5ef4">_NumOfMSSAPhiSVFGNodesHaveInOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="comment">/*-----------------------------------------------------*/</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="comment">// SVFIR nodes.</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab6ccd8de2b7573f34c4d04b7f40d6522">_NumOfVarHaveINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab6ccd8de2b7573f34c4d04b7f40d6522">_NumOfVarHaveINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PotentialVarHaveIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a08ea2c3d891337992291123a1bb4da97">_PotentialNumOfVarHaveINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"PotentialVarHaveOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a08ea2c3d891337992291123a1bb4da97">_PotentialNumOfVarHaveINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveEmptyIN"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2162dffeb03e84daca52d6d8429b8529">_NumOfVarHaveEmptyINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveEmptyOUT"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a2162dffeb03e84daca52d6d8429b8529">_NumOfVarHaveEmptyINOUTPts</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> </div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_FI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#acebccfa66669033af9f9d4b3d021ec1a">_NumOfVarHaveINOUTPtsInFormalIn</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_FI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#acebccfa66669033af9f9d4b3d021ec1a">_NumOfVarHaveINOUTPtsInFormalIn</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_FO"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a0f9098bb73b06ba963bdce8ea26f0fa3">_NumOfVarHaveINOUTPtsInFormalOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_FO"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a0f9098bb73b06ba963bdce8ea26f0fa3">_NumOfVarHaveINOUTPtsInFormalOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_AI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a505057e9b8962359c9461395fd7ed138">_NumOfVarHaveINOUTPtsInActualIn</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_AI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a505057e9b8962359c9461395fd7ed138">_NumOfVarHaveINOUTPtsInActualIn</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_AO"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#abeef6e8ba26d73d9e981a23d9f96e4d7">_NumOfVarHaveINOUTPtsInActualOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_AO"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#abeef6e8ba26d73d9e981a23d9f96e4d7">_NumOfVarHaveINOUTPtsInActualOut</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_LD"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aa754517cc9b5faeea010e336027c0ab4">_NumOfVarHaveINOUTPtsInLoad</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_LD"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aa754517cc9b5faeea010e336027c0ab4">_NumOfVarHaveINOUTPtsInLoad</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_ST"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a21f2c005bf927c0c23772172c08402bf">_NumOfVarHaveINOUTPtsInStore</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_ST"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a21f2c005bf927c0c23772172c08402bf">_NumOfVarHaveINOUTPtsInStore</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveIN_PHI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a90f1c6072a153c856765b24bbcbfaeef">_NumOfVarHaveINOUTPtsInMSSAPhi</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"VarHaveOUT_PHI"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a90f1c6072a153c856765b24bbcbfaeef">_NumOfVarHaveINOUTPtsInMSSAPhi</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a737d955e3707cf758a5580eab2e60e96">_MaxPtsSize</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxTopLvlPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#aecf324702d542f824e8b7a4d9827f557">_MaxTopLvlPtsSize</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxINPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab3e56ed16ce45d35c8f35f1fc1248c36">_MaxInOutPtsSize</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxOUTPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab3e56ed16ce45d35c8f35f1fc1248c36">_MaxInOutPtsSize</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AvgPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a07adfab66dd7ed22993e59ad3bf74946">_AvgPtsSize</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AvgTopLvlPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a31235f25af7970142ef235681d2a447c">_AvgTopLvlPtsSize</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"NumOfAddrTakenVar"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7">_NumOfAddrTakeVar</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AvgAddrTakenVarPts"</span>] = (<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7">_NumOfAddrTakeVar</a> == 0) ?</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  0 : ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1FlowSensitiveStat.html#a08bfa021eab91d647932aa790d300bbc">_AvgAddrTakenVarPtsSize</a> / <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ae2d4df7129385905775489f1389a9fa7">_NumOfAddrTakeVar</a>);</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxAddrTakenVarPts"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a7c88e2528a93511ba8dde4805cadcd30">_MaxAddrTakenVarPts</a>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AvgINPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af45e08caf715cca450390ffc2fddb049">_AvgInOutPtsSize</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ad0b57a5d90c72b67337a68c04ae34739">IN</a>];</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AvgOUTPtsSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af45e08caf715cca450390ffc2fddb049">_AvgInOutPtsSize</a>[<a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71ac018f116c78ed5e314b52e5d743f3fa5">OUT</a>];</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedAddr"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ae4253bc632ffffe2498263c90f456ca7">numOfProcessedAddr</a>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedCopy"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a19e017f3ed6429fa30687018e64dae54">numOfProcessedCopy</a>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedGep"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a88a111b6bc347d6562db7af8bd8f2f0e">numOfProcessedGep</a>;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedLoad"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a0e1a0bdbf4f81a3600ac26ac011ac268">numOfProcessedLoad</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedStore"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a669e8f1dd8572b7dcff373c9787a923d">numOfProcessedStore</a>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedPhi"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ac39abcb40e4b568ab59b7cf48ed10f70">numOfProcessedPhi</a>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedAParam"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#abdc30e45347579986c42795a436a1251">numOfProcessedActualParam</a>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedFRet"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#ae048cc5350cf2b075c05f5d84777a3c5">numOfProcessedFormalRet</a>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"ProcessedMSSANode"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#af71a5ae3aef022c569e89f40515072cf">numOfProcessedMSSANode</a>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"NumOfNodesInSCC"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a9f3fe97202db8170fa9f47c5684bce75">numOfNodesInSCC</a>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"MaxSCCSize"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4">maxSCCSize</a>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">PTNumStatMap</a>[<span class="stringliteral">"NumOfSCC"</span>] = <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">numOfSCC</a>;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">timeStatMap</a>[<span class="stringliteral">"AverageSCCSize"</span>] = (<a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">numOfSCC</a> == 0) ? 0 :</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  ((<span class="keywordtype">double</span>)<a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a9f3fe97202db8170fa9f47c5684bce75">numOfNodesInSCC</a> / <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af7e04f73ee17647c52e571cadef8729f">fspta</a>-><a class="code" href="classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3">numOfSCC</a>);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\n****Flow-Sensitive Pointer Analysis Statistics****\n"</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">PTAStat::printStat</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_ae2e58d18abcdddc7a5a87f4edc5f3b72"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae2e58d18abcdddc7a5a87f4edc5f3b72">SVF::FlowSensitive::processTime</a></div><div class="ttdeci">double processTime</div><div class="ttdoc">time of processNode. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00303">FlowSensitive.h:303</a></div></div>
|
|
684
684
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
685
685
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a2feaa4b7a72989b311e9084a81320254"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a2feaa4b7a72989b311e9084a81320254">SVF::FlowSensitive::indirectPropaTime</a></div><div class="ttdeci">double indirectPropaTime</div><div class="ttdoc">time of points-to propagation of top-level pointers </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00306">FlowSensitive.h:306</a></div></div>
|
|
686
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
686
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00204">WPASolver.h:204</a></div></div>
|
|
687
687
|
<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>
|
|
688
688
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00246">FlowSensitive.h:246</a></div></div>
|
|
689
689
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_a2162dffeb03e84daca52d6d8429b8529"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a2162dffeb03e84daca52d6d8429b8529">SVF::FlowSensitiveStat::_NumOfVarHaveEmptyINOUTPts</a></div><div class="ttdeci">u32_t _NumOfVarHaveEmptyINOUTPts[2]</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00139">WPAStat.h:139</a></div></div>
|
|
@@ -2059,11 +2059,11 @@ Private Attributes</h2></td></tr>
|
|
|
2059
2059
|
<p>The fork and join have same loop trip count </p>
|
|
2060
2060
|
|
|
2061
2061
|
<p class="definition">Definition at line <a class="el" href="MHP_8cpp_source.html#l01065">1065</a> of file <a class="el" href="MHP_8cpp_source.html">MHP.cpp</a>.</p>
|
|
2062
|
-
<div class="fragment"><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> {</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="code" href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">ScalarEvolution</a>* forkSE = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7">getSE</a>(forkSite);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="code" href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">ScalarEvolution</a>* joinSE = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7">getSE</a>(joinSite);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="comment">// Get loops</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a> *forkSiteLoop = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#a2c6ce7aa04c399746d89230be0e0f1ce">tct</a>-><a class="code" href="classSVF_1_1TCT.html#add9104a3d7a821e9c2f266ae1810d2e3">getLoop</a>(forkSite);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a> *joinSiteLoop = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#a2c6ce7aa04c399746d89230be0e0f1ce">tct</a>-><a class="code" href="classSVF_1_1TCT.html#add9104a3d7a821e9c2f266ae1810d2e3">getLoop</a>(joinSite);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keywordflow">if</span>(forkSiteLoop == <span class="keyword">nullptr</span> || joinSiteLoop == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SCEV</a>* forkLoopCountScev = forkSE->getBackedgeTakenCount(forkSiteLoop);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SCEV</a>* joinLoopCountScev = joinSE->getBackedgeTakenCount(joinSiteLoop);</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keywordflow">if</span>(forkLoopCountScev!=forkSE->getCouldNotCompute())</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  {</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keywordflow">if</span>(forkLoopCountScev==joinLoopCountScev)</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  {</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  }</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  }</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> }</div><div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
2062
|
+
<div class="fragment"><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span> {</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span> </div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="code" href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">ScalarEvolution</a>* forkSE = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7">getSE</a>(forkSite);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="code" href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">ScalarEvolution</a>* joinSE = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7">getSE</a>(joinSite);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span> </div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <span class="comment">// Get loops</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a> *forkSiteLoop = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#a2c6ce7aa04c399746d89230be0e0f1ce">tct</a>-><a class="code" href="classSVF_1_1TCT.html#add9104a3d7a821e9c2f266ae1810d2e3">getLoop</a>(forkSite);</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a> *joinSiteLoop = <a class="code" href="classSVF_1_1ForkJoinAnalysis.html#a2c6ce7aa04c399746d89230be0e0f1ce">tct</a>-><a class="code" href="classSVF_1_1TCT.html#add9104a3d7a821e9c2f266ae1810d2e3">getLoop</a>(joinSite);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keywordflow">if</span>(forkSiteLoop == <span class="keyword">nullptr</span> || joinSiteLoop == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> </div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SCEV</a>* forkLoopCountScev = forkSE->getBackedgeTakenCount(forkSiteLoop);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SCEV</a>* joinLoopCountScev = joinSE->getBackedgeTakenCount(joinSiteLoop);</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> </div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  <span class="keywordflow">if</span>(forkLoopCountScev!=forkSE->getCouldNotCompute())</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  {</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <span class="keywordflow">if</span>(forkLoopCountScev==joinLoopCountScev)</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  {</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  }</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  }</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> }</div><div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00167">BasicTypes.h:167</a></div></div>
|
|
2063
2063
|
<div class="ttc" id="classSVF_1_1ForkJoinAnalysis_html_a2c6ce7aa04c399746d89230be0e0f1ce"><div class="ttname"><a href="classSVF_1_1ForkJoinAnalysis.html#a2c6ce7aa04c399746d89230be0e0f1ce">SVF::ForkJoinAnalysis::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00540">MHP.h:540</a></div></div>
|
|
2064
2064
|
<div class="ttc" id="classSVF_1_1TCT_html_add9104a3d7a821e9c2f266ae1810d2e3"><div class="ttname"><a href="classSVF_1_1TCT.html#add9104a3d7a821e9c2f266ae1810d2e3">SVF::TCT::getLoop</a></div><div class="ttdeci">const Loop * getLoop(const Instruction *inst)</div><div class="ttdoc">Get loop for an instruction. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00349">TCT.cpp:349</a></div></div>
|
|
2065
2065
|
<div class="ttc" id="namespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
|
|
2066
|
-
<div class="ttc" id="namespaceSVF_html_aac5262378e41a3414a20cc9a41d4adc6"><div class="ttname"><a href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SVF::SCEV</a></div><div class="ttdeci">llvm::SCEV SCEV</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
2066
|
+
<div class="ttc" id="namespaceSVF_html_aac5262378e41a3414a20cc9a41d4adc6"><div class="ttname"><a href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SVF::SCEV</a></div><div class="ttdeci">llvm::SCEV SCEV</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00168">BasicTypes.h:168</a></div></div>
|
|
2067
2067
|
<div class="ttc" id="classSVF_1_1ForkJoinAnalysis_html_ad3db3e7a2ebe7646675aab16103691e7"><div class="ttname"><a href="classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7">SVF::ForkJoinAnalysis::getSE</a></div><div class="ttdeci">ScalarEvolution * getSE(const Instruction *inst)</div><div class="ttdoc">Get SE for function. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00354">MHP.h:354</a></div></div>
|
|
2068
2068
|
</div><!-- fragment -->
|
|
2069
2069
|
</div>
|
|
@@ -642,7 +642,7 @@ Private Attributes</h2></td></tr>
|
|
|
642
642
|
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00152">BasicTypes.h:152</a></div></div>
|
|
643
643
|
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
|
|
644
644
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_adefeaad9c02000f263430dfee7149ea6"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#adefeaad9c02000f263430dfee7149ea6">SVF::ICFGBuilder::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8h_source.html#l00048">ICFGBuilder.h:48</a></div></div>
|
|
645
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
645
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
646
646
|
<div class="ttc" id="classSVF_1_1ICFG_html_adafd8bbb91507a9a78a3f16305812afc"><div class="ttname"><a href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">SVF::ICFG::addIntraEdge</a></div><div class="ttdeci">ICFGEdge * addIntraEdge(ICFGNode *srcNode, ICFGNode *dstNode)</div><div class="ttdoc">Add control-flow edges for top level pointers. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00367">ICFG.cpp:367</a></div></div>
|
|
647
647
|
</div><!-- fragment -->
|
|
648
648
|
</div>
|
|
@@ -1261,7 +1261,7 @@ Private Attributes</h2></td></tr>
|
|
|
1261
1261
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
1262
1262
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00164">SVFModule.h:164</a></div></div>
|
|
1263
1263
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>
|
|
1264
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
1264
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
1265
1265
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38adae633d5aceddcca3b3a23ad66db9"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38adae633d5aceddcca3b3a23ad66db9">SVF::ThreadAPI::isTDRelease</a></div><div class="ttdeci">bool isTDRelease(const Instruction *inst) const</div><div class="ttdoc">Return true if this call release a lock. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00296">ThreadAPI.h:296</a></div></div>
|
|
1266
1266
|
</div><!-- fragment -->
|
|
1267
1267
|
</div>
|
|
@@ -2170,7 +2170,7 @@ Private Member Functions</h2></td></tr>
|
|
|
2170
2170
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>
|
|
2171
2171
|
<div class="ttc" id="classSVF_1_1MHP_html_a28031502c4f8f0d4012c0827c57efb32"><div class="ttname"><a href="classSVF_1_1MHP.html#a28031502c4f8f0d4012c0827c57efb32">SVF::MHP::CxtThreadStmtSet</a></div><div class="ttdeci">Set< CxtThreadStmt > CxtThreadStmtSet</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00032">MHP.h:32</a></div></div>
|
|
2172
2172
|
<div class="ttc" id="classSVF_1_1MHP_html_a176eefb65e4ba99ee70513c8add44176"><div class="ttname"><a href="classSVF_1_1MHP.html#a176eefb65e4ba99ee70513c8add44176">SVF::MHP::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdoc">TCT. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00252">MHP.h:252</a></div></div>
|
|
2173
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
2173
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
2174
2174
|
<div class="ttc" id="classSVF_1_1CxtThreadStmt_html"><div class="ttname"><a href="classSVF_1_1CxtThreadStmt.html">SVF::CxtThreadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00123">CxtStmt.h:123</a></div></div>
|
|
2175
2175
|
<div class="ttc" id="classSVF_1_1MHP_html_a6b238ee6342da990840162845bba547f"><div class="ttname"><a href="classSVF_1_1MHP.html#a6b238ee6342da990840162845bba547f">SVF::MHP::instToTSMap</a></div><div class="ttdeci">InstToThreadStmtSetMap instToTSMap</div><div class="ttdoc">Map a statement to its thread interleavings. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00256">MHP.h:256</a></div></div>
|
|
2176
2176
|
<div class="ttc" id="classSVF_1_1MHP_html_a49504524c0d3e53c769cdbfd9ec1ccb0"><div class="ttname"><a href="classSVF_1_1MHP.html#a49504524c0d3e53c769cdbfd9ec1ccb0">SVF::MHP::getThreadStmtSet</a></div><div class="ttdeci">const CxtThreadStmtSet & getThreadStmtSet(const Instruction *inst) const</div><div class="ttdoc">Get/has ThreadStmt. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00104">MHP.h:104</a></div></div>
|
|
@@ -353,7 +353,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
353
353
|
<div class="ttc" id="classSVF_1_1MTAStat_html_a3298dd910e731fdabc87bbcf65371a4a"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a3298dd910e731fdabc87bbcf65371a4a">SVF::MTAStat::TCTTime</a></div><div class="ttdeci">double TCTTime</div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8h_source.html#l00043">MTAStat.h:43</a></div></div>
|
|
354
354
|
<div class="ttc" id="classSVF_1_1MTA_html_a8c0f7a777b7fd6b388678be63190ee59"><div class="ttname"><a href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">SVF::MTA::stat</a></div><div class="ttdeci">MTAStat * stat</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00086">MTA.h:86</a></div></div>
|
|
355
355
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
|
|
356
|
-
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#
|
|
356
|
+
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00045">SVFIRBuilder.h:45</a></div></div>
|
|
357
357
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
358
358
|
<div class="ttc" id="classSVF_1_1MTAStat_html_a56411f7e64febab8aab94a4a9207e5d8"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a56411f7e64febab8aab94a4a9207e5d8">SVF::MTAStat::MHPTime</a></div><div class="ttdeci">double MHPTime</div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8h_source.html#l00044">MTAStat.h:44</a></div></div>
|
|
359
359
|
<div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00182">SVFBasicTypes.h:182</a></div></div>
|
|
@@ -411,7 +411,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
411
411
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
412
412
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00164">SVFModule.h:164</a></div></div>
|
|
413
413
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>
|
|
414
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
414
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
415
415
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
|
|
416
416
|
</div><!-- fragment -->
|
|
417
417
|
</div>
|
|
@@ -504,7 +504,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
504
504
|
</div><div class="memdoc">
|
|
505
505
|
|
|
506
506
|
<p class="definition">Definition at line <a class="el" href="MTA_8h_source.html#l00073">73</a> of file <a class="el" href="MTA_8h_source.html">MTA.h</a>.</p>
|
|
507
|
-
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  FunToSEMap::iterator it = <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>.find(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>.end())</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">ScalarEvolutionWrapperPass</a> *scev = &<a class="code" href="classSVF_1_1MTA.html#a3dd09dcdcf58ae8ee1745634cefbb8aa">modulePass</a>->getAnalysis<<a class="code" href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">ScalarEvolutionWrapperPass</a>>(*const_cast<Function*>(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>));</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>[<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>] = &scev->getSE();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> &scev->getSE();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="ttc" id="namespaceSVF_html_a9f1aca0384166e42d14e2608009ebc01"><div class="ttname"><a href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">SVF::ScalarEvolutionWrapperPass</a></div><div class="ttdeci">llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
507
|
+
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  FunToSEMap::iterator it = <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>.find(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>.end())</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">ScalarEvolutionWrapperPass</a> *scev = &<a class="code" href="classSVF_1_1MTA.html#a3dd09dcdcf58ae8ee1745634cefbb8aa">modulePass</a>->getAnalysis<<a class="code" href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">ScalarEvolutionWrapperPass</a>>(*const_cast<Function*>(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>));</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">func2ScevMap</a>[<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>] = &scev->getSE();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> &scev->getSE();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="ttc" id="namespaceSVF_html_a9f1aca0384166e42d14e2608009ebc01"><div class="ttname"><a href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">SVF::ScalarEvolutionWrapperPass</a></div><div class="ttdeci">llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00164">BasicTypes.h:164</a></div></div>
|
|
508
508
|
<div class="ttc" id="classSVF_1_1MTA_html_a3dd09dcdcf58ae8ee1745634cefbb8aa"><div class="ttname"><a href="classSVF_1_1MTA.html#a3dd09dcdcf58ae8ee1745634cefbb8aa">SVF::MTA::modulePass</a></div><div class="ttdeci">static ModulePass * modulePass</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00043">MTA.h:43</a></div></div>
|
|
509
509
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
510
510
|
<div class="ttc" id="classSVF_1_1MTA_html_a7a879943a817d0283971b5588cfa83d5"><div class="ttname"><a href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">SVF::MTA::func2ScevMap</a></div><div class="ttdeci">static FunToSEMap func2ScevMap</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00087">MTA.h:87</a></div></div>
|
|
@@ -376,7 +376,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
376
376
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
377
377
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00164">SVFModule.h:164</a></div></div>
|
|
378
378
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00051">SVFModule.h:51</a></div></div>
|
|
379
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
379
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
|
|
380
380
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a36eb47b716c3b44ba5c459052bb0ed93"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">SVF::MTAAnnotator::isMemset</a></div><div class="ttdeci">bool isMemset(const Instruction *I)</div><div class="ttdoc">Check if Function "F" is memset. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00071">MTAAnnotator.h:71</a></div></div>
|
|
381
381
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00358">SVFUtil.h:358</a></div></div>
|
|
382
382
|
</div><!-- fragment -->
|