svf-tools 1.0.289 → 1.0.290
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/AndersenHCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +44 -28
- package/SVF-doxygen/html/html/Andersen_8h_source.html +50 -50
- package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +50 -30
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +58 -55
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +64 -11
- package/SVF-doxygen/html/html/NodeIDAllocator_8h.html +5 -1
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +52 -15
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -7
- package/SVF-doxygen/html/html/SVFUtil_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -7
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +48 -40
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +34 -33
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/annotated.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +213 -212
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +123 -71
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +223 -222
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +36 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -231
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +21 -19
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +220 -219
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +38 -36
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +221 -220
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +232 -231
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +220 -219
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +21 -19
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +227 -226
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +25 -23
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +110 -107
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +12 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +109 -106
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +283 -154
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +121 -118
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +28 -20
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +11 -10
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +74 -34
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer-members.html +109 -0
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1188 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +132 -129
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +168 -113
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
- package/SVF-doxygen/html/html/classes.html +62 -62
- package/SVF-doxygen/html/html/functions_b.html +10 -5
- package/SVF-doxygen/html/html/functions_c.html +36 -22
- package/SVF-doxygen/html/html/functions_d.html +12 -0
- package/SVF-doxygen/html/html/functions_e.html +9 -3
- package/SVF-doxygen/html/html/functions_f.html +18 -15
- package/SVF-doxygen/html/html/functions_func_c.html +19 -10
- package/SVF-doxygen/html/html/functions_func_d.html +3 -0
- package/SVF-doxygen/html/html/functions_func_e.html +3 -0
- package/SVF-doxygen/html/html/functions_func_g.html +19 -10
- package/SVF-doxygen/html/html/functions_func_p.html +7 -3
- package/SVF-doxygen/html/html/functions_func_r.html +7 -1
- package/SVF-doxygen/html/html/functions_func_t.html +3 -0
- package/SVF-doxygen/html/html/functions_g.html +17 -8
- package/SVF-doxygen/html/html/functions_l.html +10 -7
- package/SVF-doxygen/html/html/functions_n.html +18 -0
- package/SVF-doxygen/html/html/functions_o.html +21 -13
- package/SVF-doxygen/html/html/functions_p.html +22 -20
- package/SVF-doxygen/html/html/functions_r.html +10 -1
- package/SVF-doxygen/html/html/functions_s.html +9 -9
- package/SVF-doxygen/html/html/functions_t.html +12 -3
- package/SVF-doxygen/html/html/functions_type_d.html +3 -0
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_n.html +18 -0
- package/SVF-doxygen/html/html/functions_vars_o.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_t.html +6 -0
- package/SVF-doxygen/html/html/globals_f.html +3 -3
- package/SVF-doxygen/html/html/hierarchy.html +413 -412
- package/SVF-doxygen/html/html/menudata.js +2 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +47 -16
- package/SVF-doxygen/html/html/namespacemembers_func.html +17 -10
- package/SVF-doxygen/html/html/namespacemembers_h.html +76 -0
- package/SVF-doxygen/html/html/search/all_10.js +7 -6
- package/SVF-doxygen/html/html/search/all_12.js +6 -3
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +6 -3
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_2.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +4 -0
- package/SVF-doxygen/html/html/search/all_4.js +4 -0
- package/SVF-doxygen/html/html/search/all_5.js +2 -0
- package/SVF-doxygen/html/html/search/all_6.js +5 -4
- package/SVF-doxygen/html/html/search/all_7.js +3 -0
- package/SVF-doxygen/html/html/search/all_8.js +1 -0
- package/SVF-doxygen/html/html/search/all_c.js +4 -3
- package/SVF-doxygen/html/html/search/all_e.js +8 -3
- package/SVF-doxygen/html/html/search/all_f.js +3 -1
- package/SVF-doxygen/html/html/search/classes_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +2 -0
- package/SVF-doxygen/html/html/search/functions_3.js +1 -0
- package/SVF-doxygen/html/html/search/functions_4.js +1 -0
- package/SVF-doxygen/html/html/search/functions_6.js +3 -0
- package/SVF-doxygen/html/html/search/functions_7.js +1 -0
- package/SVF-doxygen/html/html/search/functions_e.js +2 -1
- package/SVF-doxygen/html/html/search/functions_f.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_12.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +4 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_2.js +1 -0
- package/SVF-doxygen/html/html/search/variables_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_4.js +2 -0
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -0
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_e.js +7 -2
- package/SVF-doxygen/html/html/search/variables_f.js +2 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
- package/include/Util/NodeIDAllocator.h +94 -0
- package/include/Util/SVFUtil.h +3 -0
- package/include/WPA/Andersen.h +4 -0
- package/include/WPA/FlowSensitive.h +9 -0
- package/include/WPA/VersionedFlowSensitive.h +3 -0
- package/lib/Util/NodeIDAllocator.cpp +548 -1
- package/lib/Util/SVFUtil.cpp +19 -0
- package/lib/WPA/Andersen.cpp +34 -0
- package/lib/WPA/FlowSensitive.cpp +70 -0
- package/lib/WPA/VersionedFlowSensitive.cpp +20 -0
- package/package.json +1 -1
|
@@ -451,6 +451,8 @@ Protected Member Functions</h2></td></tr>
|
|
|
451
451
|
<tr class="memitem:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual const std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">PTAName</a> () const</td></tr>
|
|
452
452
|
<tr class="memdesc:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">Get PTA name. <a href="classSVF_1_1Andersen.html#ad92dbecc91170b235180e59ba307acda">More...</a><br /></td></tr>
|
|
453
453
|
<tr class="separator:ad92dbecc91170b235180e59ba307acda inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
454
|
+
<tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
|
|
455
|
+
<tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
454
456
|
<tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
|
|
455
457
|
<tr class="memdesc:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">handling various constraints <a href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">More...</a><br /></td></tr>
|
|
456
458
|
<tr class="separator:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -839,7 +841,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
839
841
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
840
842
|
<div class="textblock"><p>Wave propagation with diff points-to set with type filter. </p>
|
|
841
843
|
|
|
842
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
844
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00476">476</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
843
845
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
844
846
|
<a id="a2e64b8836d73363049b9bb24d560d2e7"></a>
|
|
845
847
|
<h2 class="memtitle"><span class="permalink"><a href="#a2e64b8836d73363049b9bb24d560d2e7">◆ </a></span>TypeMismatchedObjToEdgeTy</h2>
|
|
@@ -861,7 +863,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
861
863
|
</table>
|
|
862
864
|
</div><div class="memdoc">
|
|
863
865
|
|
|
864
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
866
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00481">481</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
865
867
|
|
|
866
868
|
</div>
|
|
867
869
|
</div>
|
|
@@ -900,9 +902,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
900
902
|
</table>
|
|
901
903
|
</div><div class="memdoc">
|
|
902
904
|
|
|
903
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
904
|
-
<div class="fragment"><div class="line"><a name="
|
|
905
|
-
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a6a8a801ecca92785ec937cebc8732bd1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a6a8a801ecca92785ec937cebc8732bd1">SVF::AndersenWaveDiff::AndersenWaveDiff</a></div><div class="ttdeci">AndersenWaveDiff(PAG *_pag, PTATY type=AndersenWaveDiff_WPA, bool alias_check=true)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
905
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00518">518</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
906
|
+
<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  : <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a6a8a801ecca92785ec937cebc8732bd1">AndersenWaveDiff</a>(_pag,type)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">getTypeSystem</a>()!=<span class="keyword">nullptr</span> && <span class="stringliteral">"a type system is required for this pointer analysis"</span>);</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
907
|
+
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a6a8a801ecca92785ec937cebc8732bd1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a6a8a801ecca92785ec937cebc8732bd1">SVF::AndersenWaveDiff::AndersenWaveDiff</a></div><div class="ttdeci">AndersenWaveDiff(PAG *_pag, PTATY type=AndersenWaveDiff_WPA, bool alias_check=true)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00433">Andersen.h:433</a></div></div>
|
|
906
908
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae615dd279fbf681e3c15e7209e3adfbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">SVF::PointerAnalysis::getTypeSystem</a></div><div class="ttdeci">const TypeSystem * getTypeSystem() const</div><div class="ttdoc">get TypeSystem </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00460">PointerAnalysis.h:460</a></div></div>
|
|
907
909
|
</div><!-- fragment -->
|
|
908
910
|
</div>
|
|
@@ -993,8 +995,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
993
995
|
|
|
994
996
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#a7e26ac6fb40684694f7ff2aadfde8bc7">SVF::Andersen</a>.</p>
|
|
995
997
|
|
|
996
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
997
|
-
<div class="fragment"><div class="line"><a name="
|
|
998
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00505">505</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
999
|
+
<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">getDiffPTDataTy</a>()-><a class="code" href="classSVF_1_1DiffPTData.html#a6eab8e1201083ed8705379e100cfb3b7">computeDiffPts</a>(rep, <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">getDiffPTDataTy</a>()-><a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(rep));</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div><div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00222">Andersen.h:222</a></div></div>
|
|
998
1000
|
<div class="ttc" id="classSVF_1_1DiffPTData_html_a6eab8e1201083ed8705379e100cfb3b7"><div class="ttname"><a href="classSVF_1_1DiffPTData.html#a6eab8e1201083ed8705379e100cfb3b7">SVF::DiffPTData::computeDiffPts</a></div><div class="ttdeci">virtual bool computeDiffPts(Key &var, const DataSet &all)=0</div></div>
|
|
999
1001
|
<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#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1000
1002
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab9c0bb439f98ae11dd178148109697ab"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">SVF::BVDataPTAImpl::getDiffPTDataTy</a></div><div class="ttdeci">DiffPTDataTy * getDiffPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00181">PointerAnalysisImpl.h:181</a></div></div>
|
|
@@ -1028,10 +1030,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1028
1030
|
|
|
1029
1031
|
<p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
|
|
1030
1032
|
|
|
1031
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1032
|
-
<div class="fragment"><div class="line"><a name="
|
|
1033
|
-
<div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_ab35af1ec760ee8ffa39ad7258d79cd4f"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#ab35af1ec760ee8ffa39ad7258d79cd4f">SVF::AndersenWaveDiffWithType::AndersenWaveDiffWithType</a></div><div class="ttdeci">AndersenWaveDiffWithType(PAG *_pag, PTATY type=AndersenWaveDiffWithType_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1034
|
-
<div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a7825e4f1776143ad1bd298782eac94a7"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">SVF::AndersenWaveDiffWithType::diffWaveWithType</a></div><div class="ttdeci">static AndersenWaveDiffWithType * diffWaveWithType</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1033
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00524">524</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1034
|
+
<div class="fragment"><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  {</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  {</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#ab35af1ec760ee8ffa39ad7258d79cd4f">AndersenWaveDiffWithType</a>(p);</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>-><a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>;</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  }</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  }</div><div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00094">Andersen.cpp:94</a></div></div>
|
|
1035
|
+
<div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_ab35af1ec760ee8ffa39ad7258d79cd4f"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#ab35af1ec760ee8ffa39ad7258d79cd4f">SVF::AndersenWaveDiffWithType::AndersenWaveDiffWithType</a></div><div class="ttdeci">AndersenWaveDiffWithType(PAG *_pag, PTATY type=AndersenWaveDiffWithType_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00518">Andersen.h:518</a></div></div>
|
|
1036
|
+
<div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a7825e4f1776143ad1bd298782eac94a7"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">SVF::AndersenWaveDiffWithType::diffWaveWithType</a></div><div class="ttdeci">static AndersenWaveDiffWithType * diffWaveWithType</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00501">Andersen.h:501</a></div></div>
|
|
1035
1037
|
</div><!-- fragment -->
|
|
1036
1038
|
</div>
|
|
1037
1039
|
</div>
|
|
@@ -1061,8 +1063,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1061
1063
|
|
|
1062
1064
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#a106691684d8e7a69157d423393d83d66">SVF::Andersen</a>.</p>
|
|
1063
1065
|
|
|
1064
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1065
|
-
<div class="fragment"><div class="line"><a name="
|
|
1066
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00510">510</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1067
|
+
<div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">getDiffPTDataTy</a>()-><a class="code" href="classSVF_1_1DiffPTData.html#a7c4159d873a836b6f6d9b2d2c044921d">getDiffPts</a>(rep);</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1066
1068
|
<div class="ttc" id="classSVF_1_1DiffPTData_html_a7c4159d873a836b6f6d9b2d2c044921d"><div class="ttname"><a href="classSVF_1_1DiffPTData.html#a7c4159d873a836b6f6d9b2d2c044921d">SVF::DiffPTData::getDiffPts</a></div><div class="ttdeci">virtual const DataSet & getDiffPts(Key &var)=0</div><div class="ttdoc">Get diff points to. </div></div>
|
|
1067
1069
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ab9c0bb439f98ae11dd178148109697ab"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ab9c0bb439f98ae11dd178148109697ab">SVF::BVDataPTAImpl::getDiffPTDataTy</a></div><div class="ttdeci">DiffPTDataTy * getDiffPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00181">PointerAnalysisImpl.h:181</a></div></div>
|
|
1068
1070
|
<div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00211">Andersen.h:211</a></div></div>
|
|
@@ -1114,7 +1116,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1114
1116
|
<p>Reimplemented from <a class="el" href="classSVF_1_1Andersen.html#af42fe6aeacfd31bbef7f5c80c8cf6173">SVF::Andersen</a>.</p>
|
|
1115
1117
|
|
|
1116
1118
|
<p class="definition">Definition at line <a class="el" href="AndersenWaveDiffWithType_8cpp_source.html#l00079">79</a> of file <a class="el" href="AndersenWaveDiffWithType_8cpp_source.html">AndersenWaveDiffWithType.cpp</a>.</p>
|
|
1117
|
-
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a945097eb1bb050a416f37beeb7ee6194">hasTypeSet</a>(ptrid) || !<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a945097eb1bb050a416f37beeb7ee6194">hasTypeSet</a>(objid))</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TypeSet.html">TypeSet</a> *ptrTypeSet = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a6b52e1b6fbf9cfcc0337471bb425f330">getTypeSet</a>(ptrid);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TypeSet.html">TypeSet</a> *objTypeSet = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a6b52e1b6fbf9cfcc0337471bb425f330">getTypeSet</a>(objid);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (ptrTypeSet-><a class="code" href="classSVF_1_1TypeSet.html#adca05e10c3313b501cfb7a26975cb8e2">intersect</a>(objTypeSet))</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a5ec70e91d9d588688a6cbe06cdb2979f">recordTypeMismatchedGep</a>(objid, normalGepEdge);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a5ec70e91d9d588688a6cbe06cdb2979f"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a5ec70e91d9d588688a6cbe06cdb2979f">SVF::AndersenWaveDiffWithType::recordTypeMismatchedGep</a></div><div class="ttdeci">void recordTypeMismatchedGep(NodeID obj, const GepCGEdge *gepEdge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1119
|
+
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a945097eb1bb050a416f37beeb7ee6194">hasTypeSet</a>(ptrid) || !<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a945097eb1bb050a416f37beeb7ee6194">hasTypeSet</a>(objid))</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TypeSet.html">TypeSet</a> *ptrTypeSet = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a6b52e1b6fbf9cfcc0337471bb425f330">getTypeSet</a>(ptrid);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TypeSet.html">TypeSet</a> *objTypeSet = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a6b52e1b6fbf9cfcc0337471bb425f330">getTypeSet</a>(objid);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (ptrTypeSet-><a class="code" href="classSVF_1_1TypeSet.html#adca05e10c3313b501cfb7a26975cb8e2">intersect</a>(objTypeSet))</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a5ec70e91d9d588688a6cbe06cdb2979f">recordTypeMismatchedGep</a>(objid, normalGepEdge);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a5ec70e91d9d588688a6cbe06cdb2979f"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a5ec70e91d9d588688a6cbe06cdb2979f">SVF::AndersenWaveDiffWithType::recordTypeMismatchedGep</a></div><div class="ttdeci">void recordTypeMismatchedGep(NodeID obj, const GepCGEdge *gepEdge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00485">Andersen.h:485</a></div></div>
|
|
1118
1120
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a219baed92b811d5519b056ad393fceed"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">SVF::PointerAnalysis::typeSystem</a></div><div class="ttdeci">TypeSystem * typeSystem</div><div class="ttdoc">TypeSystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00165">PointerAnalysis.h:165</a></div></div>
|
|
1119
1121
|
<div class="ttc" id="classSVF_1_1TypeSet_html_adca05e10c3313b501cfb7a26975cb8e2"><div class="ttname"><a href="classSVF_1_1TypeSet.html#adca05e10c3313b501cfb7a26975cb8e2">SVF::TypeSet::intersect</a></div><div class="ttdeci">bool intersect(const TypeSet *typeset) const</div><div class="ttdoc">Intersect with another typeset or not. </div><div class="ttdef"><b>Definition:</b> <a href="PTAType_8h_source.html#l00140">PTAType.h:140</a></div></div>
|
|
1120
1122
|
<div class="ttc" id="classSVF_1_1TypeSystem_html_a6b52e1b6fbf9cfcc0337471bb425f330"><div class="ttname"><a href="classSVF_1_1TypeSystem.html#a6b52e1b6fbf9cfcc0337471bb425f330">SVF::TypeSystem::getTypeSet</a></div><div class="ttdeci">const TypeSet * getTypeSet(NodeID var) const</div><div class="ttdoc">Get a var&#39;s typeset. </div><div class="ttdef"><b>Definition:</b> <a href="PTAType_8h_source.html#l00234">PTAType.h:234</a></div></div>
|
|
@@ -1250,14 +1252,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1250
1252
|
<p>process mismatched gep edges </p>
|
|
1251
1253
|
|
|
1252
1254
|
<p class="definition">Definition at line <a class="el" href="AndersenWaveDiffWithType_8cpp_source.html#l00050">50</a> of file <a class="el" href="AndersenWaveDiffWithType_8cpp_source.html">AndersenWaveDiffWithType.cpp</a>.</p>
|
|
1253
|
-
<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  TypeMismatchedObjToEdgeTy::iterator it = <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.find(obj);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.end())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*></a> &edges = it->second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*></a> processed;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classSVF_1_1PTAType.html">PTAType</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>(type);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &nodesOfType = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a4e0aa8f26c1a7c51706acbba3f6642b8">getVarsForType</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*>::iterator</a> nit = edges.begin(), neit = edges.end(); nit != neit; ++nit)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *normalGepEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(*nit))</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (!nodesOfType.test(normalGepEdge->getSrcID()))</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpPts;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  tmpPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(obj);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">Andersen::processGepPts</a>(tmpPts, normalGepEdge);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  processed.insert(normalGepEdge);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*>::iterator</a> nit = processed.begin(), neit = processed.end(); nit != neit; ++nit)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  edges.erase(*nit);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a56c4bf81440df5d1b2565055ac3ab84b"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">SVF::AndersenWaveDiffWithType::typeMismatchedObjToEdges</a></div><div class="ttdeci">TypeMismatchedObjToEdgeTy typeMismatchedObjToEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1255
|
+
<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  TypeMismatchedObjToEdgeTy::iterator it = <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.find(obj);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.end())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*></a> &edges = it->second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*></a> processed;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <a class="code" href="classSVF_1_1PTAType.html">PTAType</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>(type);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &nodesOfType = <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>-><a class="code" href="classSVF_1_1TypeSystem.html#a4e0aa8f26c1a7c51706acbba3f6642b8">getVarsForType</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*>::iterator</a> nit = edges.begin(), neit = edges.end(); nit != neit; ++nit)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *normalGepEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(*nit))</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (!nodesOfType.test(normalGepEdge->getSrcID()))</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpPts;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  tmpPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(obj);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">Andersen::processGepPts</a>(tmpPts, normalGepEdge);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  processed.insert(normalGepEdge);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GepCGEdge*>::iterator</a> nit = processed.begin(), neit = processed.end(); nit != neit; ++nit)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  edges.erase(*nit);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a56c4bf81440df5d1b2565055ac3ab84b"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">SVF::AndersenWaveDiffWithType::typeMismatchedObjToEdges</a></div><div class="ttdeci">TypeMismatchedObjToEdgeTy typeMismatchedObjToEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00483">Andersen.h:483</a></div></div>
|
|
1254
1256
|
<div class="ttc" id="classSVF_1_1NormalGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html">SVF::NormalGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00265">ConsGEdge.h:265</a></div></div>
|
|
1255
1257
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a219baed92b811d5519b056ad393fceed"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">SVF::PointerAnalysis::typeSystem</a></div><div class="ttdeci">TypeSystem * typeSystem</div><div class="ttdoc">TypeSystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00165">PointerAnalysis.h:165</a></div></div>
|
|
1256
1258
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade83738ac754d5ffc2a3b497b600cad4"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">SVF::PointerAnalysis::ptaTy</a></div><div class="ttdeci">PTATY ptaTy</div><div class="ttdoc">Pointer analysis Type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00151">PointerAnalysis.h:151</a></div></div>
|
|
1257
1259
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
|
|
1258
1260
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00137">PointsTo.cpp:137</a></div></div>
|
|
1259
1261
|
<div class="ttc" id="classSVF_1_1PTAType_html"><div class="ttname"><a href="classSVF_1_1PTAType.html">SVF::PTAType</a></div><div class="ttdef"><b>Definition:</b> <a href="PTAType_8h_source.html#l00043">PTAType.h:43</a></div></div>
|
|
1260
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ac6b1efcaadfed48c226701ecf6bac55e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">SVF::Andersen::processGepPts</a></div><div class="ttdeci">virtual bool processGepPts(const PointsTo &pts, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1262
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ac6b1efcaadfed48c226701ecf6bac55e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">SVF::Andersen::processGepPts</a></div><div class="ttdeci">virtual bool processGepPts(const PointsTo &pts, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00381">Andersen.cpp:381</a></div></div>
|
|
1261
1263
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
|
|
1262
1264
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
|
|
1263
1265
|
<div class="ttc" id="classSVF_1_1TypeSystem_html_a4e0aa8f26c1a7c51706acbba3f6642b8"><div class="ttname"><a href="classSVF_1_1TypeSystem.html#a4e0aa8f26c1a7c51706acbba3f6642b8">SVF::TypeSystem::getVarsForType</a></div><div class="ttdeci">NodeBS & getVarsForType(const PTAType &type)</div><div class="ttdef"><b>Definition:</b> <a href="PTAType_8h_source.html#l00296">PTAType.h:296</a></div></div>
|
|
@@ -1298,8 +1300,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1298
1300
|
</table>
|
|
1299
1301
|
</div><div class="memdoc">
|
|
1300
1302
|
|
|
1301
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1302
|
-
<div class="fragment"><div class="line"><a name="
|
|
1303
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00485">485</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1304
|
+
<div class="fragment"><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  TypeMismatchedObjToEdgeTy::iterator it = <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.find(obj);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>.end())</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  Set<const GepCGEdge*> &edges = it->second;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  edges.insert(gepEdge);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  }</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  Set<const GepCGEdge*> edges;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  edges.insert(gepEdge);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">typeMismatchedObjToEdges</a>[obj] = edges;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a56c4bf81440df5d1b2565055ac3ab84b"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a56c4bf81440df5d1b2565055ac3ab84b">SVF::AndersenWaveDiffWithType::typeMismatchedObjToEdges</a></div><div class="ttdeci">TypeMismatchedObjToEdgeTy typeMismatchedObjToEdges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00483">Andersen.h:483</a></div></div>
|
|
1303
1305
|
</div><!-- fragment -->
|
|
1304
1306
|
</div>
|
|
1305
1307
|
</div>
|
|
@@ -1326,8 +1328,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1326
1328
|
</table>
|
|
1327
1329
|
</div><div class="memdoc">
|
|
1328
1330
|
|
|
1329
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1330
|
-
<div class="fragment"><div class="line"><a name="
|
|
1331
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00534">534</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1332
|
+
<div class="fragment"><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  {</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>)</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a>;</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">diffWaveWithType</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div><div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_a7825e4f1776143ad1bd298782eac94a7"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#a7825e4f1776143ad1bd298782eac94a7">SVF::AndersenWaveDiffWithType::diffWaveWithType</a></div><div class="ttdeci">static AndersenWaveDiffWithType * diffWaveWithType</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00501">Andersen.h:501</a></div></div>
|
|
1331
1333
|
</div><!-- fragment -->
|
|
1332
1334
|
</div>
|
|
1333
1335
|
</div>
|
|
@@ -1365,7 +1367,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1365
1367
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a457973fa38fad89bbd2dc41ba041703e"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a457973fa38fad89bbd2dc41ba041703e">SVF::SCCDetection::getRepNodes</a></div><div class="ttdeci">const NodeBS & getRepNodes() const</div><div class="ttdoc">get all repNodeID </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00181">SCC.h:181</a></div></div>
|
|
1366
1368
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
|
|
1367
1369
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
|
|
1368
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1370
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_a31ea24432ff42ab86a4728f2bde571bc"><div class="ttname"><a href="classSVF_1_1Andersen.html#a31ea24432ff42ab86a4728f2bde571bc">SVF::Andersen::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00595">Andersen.cpp:595</a></div></div>
|
|
1369
1371
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiffWithType_html_ac6801af3f3ffde939930995de9340cce"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiffWithType.html#ac6801af3f3ffde939930995de9340cce">SVF::AndersenWaveDiffWithType::mergeTypeOfNodes</a></div><div class="ttdeci">void mergeTypeOfNodes(const NodeBS &nodes)</div><div class="ttdoc">merge types of nodes in a cycle </div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiffWithType_8cpp_source.html#l00129">AndersenWaveDiffWithType.cpp:129</a></div></div>
|
|
1370
1372
|
</div><!-- fragment -->
|
|
1371
1373
|
</div>
|
|
@@ -1438,7 +1440,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1438
1440
|
</table>
|
|
1439
1441
|
</div><div class="memdoc">
|
|
1440
1442
|
|
|
1441
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1443
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00501">501</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1442
1444
|
|
|
1443
1445
|
</div>
|
|
1444
1446
|
</div>
|
|
@@ -1462,7 +1464,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1462
1464
|
</table>
|
|
1463
1465
|
</div><div class="memdoc">
|
|
1464
1466
|
|
|
1465
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1467
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00483">483</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1466
1468
|
|
|
1467
1469
|
</div>
|
|
1468
1470
|
</div>
|
|
@@ -474,7 +474,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
474
474
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
475
475
|
<div class="ttc" id="classSVF_1_1Options_html_a8eba08052f7af57b762155a58844480c"><div class="ttname"><a href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">SVF::Options::PAGDotGraphShorter</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PAGDotGraphShorter</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00128">Options.h:128</a></div></div>
|
|
476
476
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
477
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
477
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
478
478
|
</div><!-- fragment -->
|
|
479
479
|
</div>
|
|
480
480
|
</div>
|
|
@@ -774,7 +774,7 @@ Private Member Functions</h2></td></tr>
|
|
|
774
774
|
<div class="fragment"><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>  std::string str;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  rawstr << <span class="stringliteral">"BinaryOPVFGNode ID: "</span> << <a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  rawstr << <span class="stringliteral">"PAGEdge: ["</span> << <a class="code" href="classSVF_1_1BinaryOPVFGNode.html#a01ca492acb9b769eb6e1fe2137dff47d">res</a>-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">" = Binary("</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">for</span>(BinaryOPVFGNode::OPVers::const_iterator it = <a class="code" href="classSVF_1_1BinaryOPVFGNode.html#adaff45c46c4cc8158bd3147d304deab5">opVerBegin</a>(), eit = <a class="code" href="classSVF_1_1BinaryOPVFGNode.html#aed5a32d1a145df7007ba7d934e4c2bd4">opVerEnd</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  it != eit; it++)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  rawstr << it->second->getId() << <span class="stringliteral">", "</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  rawstr << <span class="stringliteral">")]\t"</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html#a01ca492acb9b769eb6e1fe2137dff47d">res</a>-><a class="code" href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">hasValue</a>()){</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  rawstr << <span class="stringliteral">" "</span> << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1BinaryOPVFGNode.html#a01ca492acb9b769eb6e1fe2137dff47d">res</a>-><a class="code" href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">getValue</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>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div><div class="ttc" id="classSVF_1_1PAGNode_html_a45be6b7b2f1f9754ea47e511e65d46ae"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">SVF::PAGNode::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00094">PAGNode.h:94</a></div></div>
|
|
775
775
|
<div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html_adaff45c46c4cc8158bd3147d304deab5"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html#adaff45c46c4cc8158bd3147d304deab5">SVF::BinaryOPVFGNode::opVerBegin</a></div><div class="ttdeci">OPVers::const_iterator opVerBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00443">VFGNode.h:443</a></div></div>
|
|
776
776
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
777
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
777
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
778
778
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a071f592f2b811c136db5e05a6169aa99"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">SVF::PAGNode::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00110">PAGNode.h:110</a></div></div>
|
|
779
779
|
<div class="ttc" id="classSVF_1_1BinaryOPVFGNode_html_a01ca492acb9b769eb6e1fe2137dff47d"><div class="ttname"><a href="classSVF_1_1BinaryOPVFGNode.html#a01ca492acb9b769eb6e1fe2137dff47d">SVF::BinaryOPVFGNode::res</a></div><div class="ttdeci">const PAGNode * res</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00393">VFGNode.h:393</a></div></div>
|
|
780
780
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
|
|
@@ -756,7 +756,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
756
756
|
<div class="fragment"><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>  std::string str;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  rawstr << <span class="stringliteral">"CallBlockNode ID: "</span> << <a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()) << <span class="stringliteral">" {fun: "</span> << <a class="code" href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">getFun</a>()-><a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>() << <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div><div class="ttc" id="classSVF_1_1ICFGNode_html_ae526280cca2d6cbb2868c80461bc16da"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ae526280cca2d6cbb2868c80461bc16da">SVF::ICFGNode::getFun</a></div><div class="ttdeci">virtual const SVFFunction * getFun() const</div><div class="ttdoc">Return the function of this ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00080">ICFGNode.h:80</a></div></div>
|
|
757
757
|
<div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00226">SVFBasicTypes.h:226</a></div></div>
|
|
758
758
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
759
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
759
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
760
760
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html_ad3d50024efcfa94b1246c982b43aff2f"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">SVF::CallBlockNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
|
|
761
761
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
|
|
762
762
|
</div><!-- fragment -->
|
|
@@ -563,7 +563,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
563
563
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
564
564
|
<div class="ttc" id="classSVF_1_1Options_html_a8eba08052f7af57b762155a58844480c"><div class="ttname"><a href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">SVF::Options::PAGDotGraphShorter</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PAGDotGraphShorter</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00128">Options.h:128</a></div></div>
|
|
565
565
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
566
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
566
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
567
567
|
</div><!-- fragment -->
|
|
568
568
|
</div>
|
|
569
569
|
</div>
|
|
@@ -474,7 +474,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
474
474
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
475
475
|
<div class="ttc" id="classSVF_1_1Options_html_a8eba08052f7af57b762155a58844480c"><div class="ttname"><a href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">SVF::Options::PAGDotGraphShorter</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PAGDotGraphShorter</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00128">Options.h:128</a></div></div>
|
|
476
476
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
477
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
477
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
478
478
|
</div><!-- fragment -->
|
|
479
479
|
</div>
|
|
480
480
|
</div>
|
|
@@ -776,7 +776,7 @@ Private Member Functions</h2></td></tr>
|
|
|
776
776
|
<div class="ttc" id="classSVF_1_1CmpVFGNode_html_a9a358028cf15ba49b410e0c2a1fafe7c"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html#a9a358028cf15ba49b410e0c2a1fafe7c">SVF::CmpVFGNode::res</a></div><div class="ttdeci">const PAGNode * res</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00321">VFGNode.h:321</a></div></div>
|
|
777
777
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a45be6b7b2f1f9754ea47e511e65d46ae"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">SVF::PAGNode::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00094">PAGNode.h:94</a></div></div>
|
|
778
778
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
779
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
779
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
780
780
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a071f592f2b811c136db5e05a6169aa99"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">SVF::PAGNode::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00110">PAGNode.h:110</a></div></div>
|
|
781
781
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
|
|
782
782
|
</div><!-- fragment -->
|
|
@@ -474,7 +474,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
474
474
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
475
475
|
<div class="ttc" id="classSVF_1_1Options_html_a8eba08052f7af57b762155a58844480c"><div class="ttname"><a href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">SVF::Options::PAGDotGraphShorter</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PAGDotGraphShorter</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00128">Options.h:128</a></div></div>
|
|
476
476
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
477
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
477
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
478
478
|
</div><!-- fragment -->
|
|
479
479
|
</div>
|
|
480
480
|
</div>
|
|
@@ -1221,7 +1221,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
1221
1221
|
<div class="fragment"><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a> = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">AndersenWaveDiff::createAndersenWaveDiff</a>(pag);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#a74d83f06e8fc0ecedc1e1846030c99c6">_svfg</a> = <a class="code" href="classSVF_1_1DDAVFSolver.html#a0d563fe8b016b27a58f5b054fec9c38a">svfgBuilder</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#a3b162da8dfb123cada7a13ce0c154a46">buildPTROnlySVFGWithoutOPT</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a>);</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#af08857f907caa32c090eed2c1b404729">_pag</a> = <a class="code" href="classSVF_1_1DDAVFSolver.html#a74d83f06e8fc0ecedc1e1846030c99c6">_svfg</a>-><a class="code" href="classSVF_1_1VFG.html#a560e0d31a6a9ba4c2b0ac540c233fef1">getPAG</a>();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div><div class="ttc" id="classSVF_1_1SVFGBuilder_html_a3b162da8dfb123cada7a13ce0c154a46"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a3b162da8dfb123cada7a13ce0c154a46">SVF::SVFGBuilder::buildPTROnlySVFGWithoutOPT</a></div><div class="ttdeci">SVFG * buildPTROnlySVFGWithoutOPT(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00049">SVFGBuilder.cpp:49</a></div></div>
|
|
1222
1222
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a0d563fe8b016b27a58f5b054fec9c38a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a0d563fe8b016b27a58f5b054fec9c38a">SVF::DDAVFSolver::svfgBuilder</a></div><div class="ttdeci">SVFGBuilder svfgBuilder</div><div class="ttdoc">SVFG Builder. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00769">DDAVFSolver.h:769</a></div></div>
|
|
1223
1223
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a74d83f06e8fc0ecedc1e1846030c99c6"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a74d83f06e8fc0ecedc1e1846030c99c6">SVF::DDAVFSolver::_svfg</a></div><div class="ttdeci">SVFG * _svfg</div><div class="ttdoc">SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00754">DDAVFSolver.h:754</a></div></div>
|
|
1224
|
-
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a74134978db1c0d9c71122bc63f4b73c1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(PAG *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1224
|
+
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a74134978db1c0d9c71122bc63f4b73c1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(PAG *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00436">Andersen.h:436</a></div></div>
|
|
1225
1225
|
<div class="ttc" id="classSVF_1_1VFG_html_a560e0d31a6a9ba4c2b0ac540c233fef1"><div class="ttname"><a href="classSVF_1_1VFG.html#a560e0d31a6a9ba4c2b0ac540c233fef1">SVF::VFG::getPAG</a></div><div class="ttdeci">PAG * getPAG() const</div><div class="ttdoc">Return PAG. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00131">VFG.h:131</a></div></div>
|
|
1226
1226
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_aa1d1b6e8cc23f0a6d3935cbe4f02cbdf"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">SVF::DDAVFSolver::_ander</a></div><div class="ttdeci">AndersenWaveDiff * _ander</div><div class="ttdoc">Andersen&#39;s analysis. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00755">DDAVFSolver.h:755</a></div></div>
|
|
1227
1227
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_af08857f907caa32c090eed2c1b404729"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af08857f907caa32c090eed2c1b404729">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">PAG * _pag</div><div class="ttdoc">PAG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00753">DDAVFSolver.h:753</a></div></div>
|
|
@@ -560,7 +560,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
560
560
|
<div class="fragment"><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>  std::string str;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  rawstr << <span class="stringliteral">"FIObjPN ID: "</span> << <a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">" (base object)"</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">Options::PAGDotGraphShorter</a>) {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1PAGNode.html#a8662a272081441af5440af58c975b85e">value</a>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> }</div><div class="ttc" id="classSVF_1_1PAGNode_html_a8662a272081441af5440af58c975b85e"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a8662a272081441af5440af58c975b85e">SVF::PAGNode::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this PAG node </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00078">PAGNode.h:78</a></div></div>
|
|
561
561
|
<div class="ttc" id="classSVF_1_1Options_html_a8eba08052f7af57b762155a58844480c"><div class="ttname"><a href="classSVF_1_1Options.html#a8eba08052f7af57b762155a58844480c">SVF::Options::PAGDotGraphShorter</a></div><div class="ttdeci">static const llvm::cl::opt< bool > PAGDotGraphShorter</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00128">Options.h:128</a></div></div>
|
|
562
562
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
563
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#
|
|
563
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
|
|
564
564
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
|
|
565
565
|
</div><!-- fragment -->
|
|
566
566
|
</div>
|