svf-tools 1.0.362 → 1.0.366
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +34 -32
- package/SVF-doxygen/html/html/ConsG_8h_source.html +20 -20
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -15
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +12 -6
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +90 -84
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +43 -39
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +41 -39
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +21 -20
- package/SVF-doxygen/html/html/SVFStatements_8h.html +2 -0
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +78 -62
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +12 -12
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +42 -40
- package/SVF-doxygen/html/html/VFG_8h_source.html +26 -26
- package/SVF-doxygen/html/html/annotated.html +58 -57
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +4 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +30 -28
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +26 -22
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +16 -15
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +41 -40
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +30 -28
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +27 -23
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +79 -77
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +4 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +20 -21
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +15 -14
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +33 -31
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +66 -24
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +9 -10
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +21 -16
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +186 -73
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -40
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +177 -176
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +160 -90
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +36 -34
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +340 -223
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt-members.html +154 -0
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +704 -0
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -14
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -14
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +29 -28
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +61 -59
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classes.html +70 -70
- package/SVF-doxygen/html/html/functions_a.html +12 -8
- package/SVF-doxygen/html/html/functions_b.html +4 -2
- package/SVF-doxygen/html/html/functions_c.html +31 -29
- package/SVF-doxygen/html/html/functions_eval_s.html +3 -0
- package/SVF-doxygen/html/html/functions_func.html +12 -8
- package/SVF-doxygen/html/html/functions_func_c.html +18 -17
- package/SVF-doxygen/html/html/functions_func_g.html +19 -6
- package/SVF-doxygen/html/html/functions_func_o.html +2 -1
- package/SVF-doxygen/html/html/functions_func_s.html +8 -5
- package/SVF-doxygen/html/html/functions_func_t.html +1 -0
- package/SVF-doxygen/html/html/functions_func_u.html +1 -0
- package/SVF-doxygen/html/html/functions_g.html +22 -9
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +20 -13
- package/SVF-doxygen/html/html/functions_p.html +6 -6
- package/SVF-doxygen/html/html/functions_s.html +23 -17
- package/SVF-doxygen/html/html/functions_t.html +5 -4
- package/SVF-doxygen/html/html/functions_type_o.html +3 -0
- package/SVF-doxygen/html/html/functions_u.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
- package/SVF-doxygen/html/html/hierarchy.html +55 -54
- package/SVF-doxygen/html/html/namespaceSVF.html +3 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -3
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +8 -6
- package/SVF-doxygen/html/html/search/all_14.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +3 -3
- package/SVF-doxygen/html/html/search/all_7.js +5 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +3 -1
- package/SVF-doxygen/html/html/search/classes_f.js +1 -0
- package/SVF-doxygen/html/html/search/enumvalues_f.js +1 -0
- package/SVF-doxygen/html/html/search/functions_0.js +4 -3
- package/SVF-doxygen/html/html/search/functions_10.js +1 -0
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +5 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_f.js +1 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
- package/include/Graphs/VFG.h +1 -1
- package/include/MemoryModel/SVFIR.h +3 -1
- package/include/MemoryModel/SVFStatements.h +76 -4
- package/include/SVF-FE/SVFIRBuilder.h +12 -2
- package/lib/Graphs/ConsG.cpp +9 -0
- package/lib/Graphs/ICFG.cpp +12 -17
- package/lib/Graphs/VFG.cpp +9 -0
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +0 -3
- package/lib/MemoryModel/SVFIR.cpp +24 -3
- package/lib/MemoryModel/SVFStatements.cpp +14 -0
- package/lib/SVF-FE/SVFIRBuilder.cpp +55 -13
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -0
- package/package.json +1 -1
|
@@ -63,8 +63,10 @@ $(function() {
|
|
|
63
63
|
</div><!-- top -->
|
|
64
64
|
<div class="header">
|
|
65
65
|
<div class="summary">
|
|
66
|
+
<a href="#pub-types">Public Types</a> |
|
|
66
67
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
67
68
|
<a href="#pri-methods">Private Member Functions</a> |
|
|
69
|
+
<a href="#pri-attribs">Private Attributes</a> |
|
|
68
70
|
<a href="classSVF_1_1PhiStmt-members.html">List of all members</a> </div>
|
|
69
71
|
<div class="headertitle">
|
|
70
72
|
<div class="title">SVF::PhiStmt Class Reference</div> </div>
|
|
@@ -84,13 +86,66 @@ Inheritance diagram for SVF::PhiStmt:</div>
|
|
|
84
86
|
</map>
|
|
85
87
|
</div></div>
|
|
86
88
|
<table class="memberdecls">
|
|
89
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
90
|
+
Public Types</h2></td></tr>
|
|
91
|
+
<tr class="memitem:ac505a4fe33e82f555663872e81220ba4"><td class="memItemLeft" align="right" valign="top">typedef std::vector< const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">OpICFGNodeVec</a></td></tr>
|
|
92
|
+
<tr class="separator:ac505a4fe33e82f555663872e81220ba4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
93
|
+
<tr class="inherit_header pub_types_classSVF_1_1MultiOpndStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1MultiOpndStmt')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1MultiOpndStmt.html">SVF::MultiOpndStmt</a></td></tr>
|
|
94
|
+
<tr class="memitem:acf8c7cfbf1c8baab672040635bb9a007 inherit pub_types_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">OPVars</a></td></tr>
|
|
95
|
+
<tr class="separator:acf8c7cfbf1c8baab672040635bb9a007 inherit pub_types_classSVF_1_1MultiOpndStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
96
|
+
<tr class="inherit_header pub_types_classSVF_1_1SVFStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1SVFStmt')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td></tr>
|
|
97
|
+
<tr class="memitem:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9">PEDGEK</a> { <br />
|
|
98
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">Addr</a>,
|
|
99
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da">Copy</a>,
|
|
100
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">Store</a>,
|
|
101
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a>,
|
|
102
|
+
<br />
|
|
103
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">Call</a>,
|
|
104
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">Ret</a>,
|
|
105
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a>,
|
|
106
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
|
|
107
|
+
<br />
|
|
108
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">Select</a>,
|
|
109
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
|
|
110
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">BinaryOp</a>,
|
|
111
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a>,
|
|
112
|
+
<br />
|
|
113
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
|
|
114
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
|
|
115
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a>
|
|
116
|
+
<br />
|
|
117
|
+
}</td></tr>
|
|
118
|
+
<tr class="separator:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
119
|
+
<tr class="memitem:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a>< <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>, <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> >::GEdgeSetTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a></td></tr>
|
|
120
|
+
<tr class="separator:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
121
|
+
<tr class="memitem:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#ae71551d6a1fc300e0403297aa25ddf94">EdgeID</a>, <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a></td></tr>
|
|
122
|
+
<tr class="separator:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
123
|
+
<tr class="memitem:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a></td></tr>
|
|
124
|
+
<tr class="separator:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
125
|
+
<tr class="memitem:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a></td></tr>
|
|
126
|
+
<tr class="separator:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
127
|
+
<tr class="inherit_header pub_types_classSVF_1_1GenericEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericEdge')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td></tr>
|
|
128
|
+
<tr class="memitem:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef NodeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a></td></tr>
|
|
129
|
+
<tr class="memdesc:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Node type. <a href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">More...</a><br /></td></tr>
|
|
130
|
+
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
131
|
+
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
132
|
+
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
133
|
+
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
134
|
+
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
135
|
+
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
136
|
+
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
137
|
+
<tr class="separator:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
138
|
+
</table><table class="memberdecls">
|
|
87
139
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
88
140
|
Public Member Functions</h2></td></tr>
|
|
89
|
-
<tr class="memitem:
|
|
90
|
-
<tr class="memdesc:
|
|
91
|
-
<tr class="separator:
|
|
92
|
-
<tr class="memitem:
|
|
93
|
-
<tr class="separator:
|
|
141
|
+
<tr class="memitem:ac2374acf4477a4bc5d188797ea9baaf3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#ac2374acf4477a4bc5d188797ea9baaf3">PhiStmt</a> (<a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *s, const <a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">OPVars</a> &opnds, const <a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">OpICFGNodeVec</a> &icfgNodes)</td></tr>
|
|
142
|
+
<tr class="memdesc:ac2374acf4477a4bc5d188797ea9baaf3"><td class="mdescLeft"> </td><td class="mdescRight">constructor <a href="#ac2374acf4477a4bc5d188797ea9baaf3">More...</a><br /></td></tr>
|
|
143
|
+
<tr class="separator:ac2374acf4477a4bc5d188797ea9baaf3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
|
+
<tr class="memitem:ac3541a25f83ce8465d7b35010ba50b37"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#ac3541a25f83ce8465d7b35010ba50b37">addOpVar</a> (<a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *op, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *inode)</td></tr>
|
|
145
|
+
<tr class="separator:ac3541a25f83ce8465d7b35010ba50b37"><td class="memSeparator" colspan="2"> </td></tr>
|
|
146
|
+
<tr class="memitem:af7e57da55f80c53a6f483976202e4c5c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#af7e57da55f80c53a6f483976202e4c5c">getOpICFGNode</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *op) const</td></tr>
|
|
147
|
+
<tr class="memdesc:af7e57da55f80c53a6f483976202e4c5c"><td class="mdescLeft"> </td><td class="mdescRight">Return the corresponding <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> of this operand. <a href="#af7e57da55f80c53a6f483976202e4c5c">More...</a><br /></td></tr>
|
|
148
|
+
<tr class="separator:af7e57da55f80c53a6f483976202e4c5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
94
149
|
<tr class="memitem:a8e55ddef627096c78bb2c8b6f9c77140"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#a8e55ddef627096c78bb2c8b6f9c77140">isFunctionRetPhi</a> () const</td></tr>
|
|
95
150
|
<tr class="separator:a8e55ddef627096c78bb2c8b6f9c77140"><td class="memSeparator" colspan="2"> </td></tr>
|
|
96
151
|
<tr class="memitem:a09575a14aa359a0795b4d6c83bee487a"><td class="memItemLeft" align="right" valign="top">virtual const std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#a09575a14aa359a0795b4d6c83bee487a">toString</a> () const override</td></tr>
|
|
@@ -102,6 +157,9 @@ Public Member Functions</h2></td></tr>
|
|
|
102
157
|
<tr class="memitem:a00a14ad8f49912b876fd9d729fea4601 inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#a00a14ad8f49912b876fd9d729fea4601">getRes</a> () const</td></tr>
|
|
103
158
|
<tr class="memdesc:a00a14ad8f49912b876fd9d729fea4601 inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="mdescLeft"> </td><td class="mdescRight">Result <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. <a href="classSVF_1_1MultiOpndStmt.html#a00a14ad8f49912b876fd9d729fea4601">More...</a><br /></td></tr>
|
|
104
159
|
<tr class="separator:a00a14ad8f49912b876fd9d729fea4601 inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
160
|
+
<tr class="memitem:af3c4989a458a1e5f7a5e0ba8e5c8b6ae inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#af3c4989a458a1e5f7a5e0ba8e5c8b6ae">getOpPos</a> (const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> *op) const</td></tr>
|
|
161
|
+
<tr class="memdesc:af3c4989a458a1e5f7a5e0ba8e5c8b6ae inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="mdescLeft"> </td><td class="mdescRight">Return the position of this op. <a href="classSVF_1_1MultiOpndStmt.html#af3c4989a458a1e5f7a5e0ba8e5c8b6ae">More...</a><br /></td></tr>
|
|
162
|
+
<tr class="separator:af3c4989a458a1e5f7a5e0ba8e5c8b6ae inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
163
|
<tr class="memitem:a5c6efcc023e90ef2e618586091958c59 inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos) const</td></tr>
|
|
106
164
|
<tr class="separator:a5c6efcc023e90ef2e618586091958c59 inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
165
|
<tr class="memitem:a71a530eb9fa9f7e273e471b4a75a039e inherit pub_methods_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a> () const</td></tr>
|
|
@@ -210,52 +268,13 @@ Private Member Functions</h2></td></tr>
|
|
|
210
268
|
<tr class="memdesc:a331c7e14409b2d78881a0ec8932c1170"><td class="mdescLeft"> </td><td class="mdescRight">place holder <a href="#a331c7e14409b2d78881a0ec8932c1170">More...</a><br /></td></tr>
|
|
211
269
|
<tr class="separator:a331c7e14409b2d78881a0ec8932c1170"><td class="memSeparator" colspan="2"> </td></tr>
|
|
212
270
|
</table><table class="memberdecls">
|
|
271
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
272
|
+
Private Attributes</h2></td></tr>
|
|
273
|
+
<tr class="memitem:a4c75a8f8430621aaec62a5189db136b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">OpICFGNodeVec</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">opICFGNodes</a></td></tr>
|
|
274
|
+
<tr class="separator:a4c75a8f8430621aaec62a5189db136b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
275
|
+
</table><table class="memberdecls">
|
|
213
276
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
|
214
277
|
Additional Inherited Members</h2></td></tr>
|
|
215
|
-
<tr class="inherit_header pub_types_classSVF_1_1MultiOpndStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1MultiOpndStmt')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1MultiOpndStmt.html">SVF::MultiOpndStmt</a></td></tr>
|
|
216
|
-
<tr class="memitem:acf8c7cfbf1c8baab672040635bb9a007 inherit pub_types_classSVF_1_1MultiOpndStmt"><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">OPVars</a></td></tr>
|
|
217
|
-
<tr class="separator:acf8c7cfbf1c8baab672040635bb9a007 inherit pub_types_classSVF_1_1MultiOpndStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
218
|
-
<tr class="inherit_header pub_types_classSVF_1_1SVFStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1SVFStmt')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td></tr>
|
|
219
|
-
<tr class="memitem:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9">PEDGEK</a> { <br />
|
|
220
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">Addr</a>,
|
|
221
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da">Copy</a>,
|
|
222
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">Store</a>,
|
|
223
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a>,
|
|
224
|
-
<br />
|
|
225
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">Call</a>,
|
|
226
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">Ret</a>,
|
|
227
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a>,
|
|
228
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
|
|
229
|
-
<br />
|
|
230
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
|
|
231
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">BinaryOp</a>,
|
|
232
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a>,
|
|
233
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
|
|
234
|
-
<br />
|
|
235
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
|
|
236
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a>
|
|
237
|
-
<br />
|
|
238
|
-
}</td></tr>
|
|
239
|
-
<tr class="separator:a0ab8621e75e75f03425c323b3ed62ce9 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
240
|
-
<tr class="memitem:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GenericNode.html">GenericNode</a>< <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>, <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> >::GEdgeSetTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a></td></tr>
|
|
241
|
-
<tr class="separator:a8cd7b6c6fd8b030b1421d95a086359f4 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
242
|
-
<tr class="memitem:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#ae71551d6a1fc300e0403297aa25ddf94">EdgeID</a>, <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a></td></tr>
|
|
243
|
-
<tr class="separator:a229c78147511f2a581c761552179b6fa inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
244
|
-
<tr class="memitem:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a229c78147511f2a581c761552179b6fa">PAGEdgeToSetMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a></td></tr>
|
|
245
|
-
<tr class="separator:a93fc6c4c991931c78c48500c2db50f66 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
246
|
-
<tr class="memitem:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a></td></tr>
|
|
247
|
-
<tr class="separator:a2bdfa37167b5496629e5cae62705d5f2 inherit pub_types_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
248
|
-
<tr class="inherit_header pub_types_classSVF_1_1GenericEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericEdge')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td></tr>
|
|
249
|
-
<tr class="memitem:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef NodeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a></td></tr>
|
|
250
|
-
<tr class="memdesc:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Node type. <a href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">More...</a><br /></td></tr>
|
|
251
|
-
<tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
252
|
-
<tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
|
|
253
|
-
<tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
254
|
-
<tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
|
|
255
|
-
<tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
256
|
-
<tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
|
|
257
|
-
<tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft"> </td><td class="mdescRight">Add the hash function for std::set (we also can overload operator< to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
|
|
258
|
-
<tr class="separator:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2"> </td></tr>
|
|
259
278
|
<tr class="inherit_header pub_static_attribs_classSVF_1_1SVFStmt"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classSVF_1_1SVFStmt')"><img src="closed.png" alt="-"/> Static Public Attributes inherited from <a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td></tr>
|
|
260
279
|
<tr class="memitem:af1a9c2a18805560e46425bd98a35dea9 inherit pub_static_attribs_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">totalEdgeNum</a></td></tr>
|
|
261
280
|
<tr class="memdesc:af1a9c2a18805560e46425bd98a35dea9 inherit pub_static_attribs_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">Total edge number. <a href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">More...</a><br /></td></tr>
|
|
@@ -277,8 +296,25 @@ Additional Inherited Members</h2></td></tr>
|
|
|
277
296
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
278
297
|
<div class="textblock"><p>Phi statement (e.g., p = phi(q,r) which receives values from variables q and r from different paths) it is typically at a joint point of the control-flow graph </p>
|
|
279
298
|
|
|
280
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
281
|
-
</div><h2 class="groupheader">
|
|
299
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00667">667</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
300
|
+
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
301
|
+
<a id="ac505a4fe33e82f555663872e81220ba4"></a>
|
|
302
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac505a4fe33e82f555663872e81220ba4">◆ </a></span>OpICFGNodeVec</h2>
|
|
303
|
+
|
|
304
|
+
<div class="memitem">
|
|
305
|
+
<div class="memproto">
|
|
306
|
+
<table class="memname">
|
|
307
|
+
<tr>
|
|
308
|
+
<td class="memname">typedef std::vector<const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* > <a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">SVF::PhiStmt::OpICFGNodeVec</a></td>
|
|
309
|
+
</tr>
|
|
310
|
+
</table>
|
|
311
|
+
</div><div class="memdoc">
|
|
312
|
+
|
|
313
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00670">670</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
314
|
+
|
|
315
|
+
</div>
|
|
316
|
+
</div>
|
|
317
|
+
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
282
318
|
<a id="a74e4c9a108d70aff8acaf3f32a16335f"></a>
|
|
283
319
|
<h2 class="memtitle"><span class="permalink"><a href="#a74e4c9a108d70aff8acaf3f32a16335f">◆ </a></span>PhiStmt() <span class="overload">[1/3]</span></h2>
|
|
284
320
|
|
|
@@ -334,8 +370,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
334
370
|
|
|
335
371
|
</div>
|
|
336
372
|
</div>
|
|
337
|
-
<a id="
|
|
338
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
373
|
+
<a id="ac2374acf4477a4bc5d188797ea9baaf3"></a>
|
|
374
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac2374acf4477a4bc5d188797ea9baaf3">◆ </a></span>PhiStmt() <span class="overload">[3/3]</span></h2>
|
|
339
375
|
|
|
340
376
|
<div class="memitem">
|
|
341
377
|
<div class="memproto">
|
|
@@ -353,7 +389,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
353
389
|
<td class="paramkey"></td>
|
|
354
390
|
<td></td>
|
|
355
391
|
<td class="paramtype">const <a class="el" href="classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007">OPVars</a> & </td>
|
|
356
|
-
<td class="paramname"><em>opnds</em
|
|
392
|
+
<td class="paramname"><em>opnds</em>, </td>
|
|
393
|
+
</tr>
|
|
394
|
+
<tr>
|
|
395
|
+
<td class="paramkey"></td>
|
|
396
|
+
<td></td>
|
|
397
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">OpICFGNodeVec</a> & </td>
|
|
398
|
+
<td class="paramname"><em>icfgNodes</em> </td>
|
|
357
399
|
</tr>
|
|
358
400
|
<tr>
|
|
359
401
|
<td></td>
|
|
@@ -370,15 +412,17 @@ Additional Inherited Members</h2></td></tr>
|
|
|
370
412
|
|
|
371
413
|
<p>constructor </p>
|
|
372
414
|
|
|
373
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
374
|
-
<div class="fragment"><div class="line"><a name="
|
|
415
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00700">700</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
416
|
+
<div class="fragment"><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  : <a class="code" href="classSVF_1_1MultiOpndStmt.html#a60420a9681df31686eb4a42adf37e1e3">MultiOpndStmt</a>(s,opnds,<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVFStmt::Phi</a>), <a class="code" href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">opICFGNodes</a>(icfgNodes)</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(opnds.size()==icfgNodes.size() && <span class="stringliteral">"Numbers of operands and their ICFGNodes are not consistent?"</span>);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  }</div><div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a60420a9681df31686eb4a42adf37e1e3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a60420a9681df31686eb4a42adf37e1e3">SVF::MultiOpndStmt::MultiOpndStmt</a></div><div class="ttdeci">MultiOpndStmt()</div><div class="ttdoc">place holder </div></div>
|
|
375
417
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVF::SVFStmt::Phi</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
418
|
+
<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>
|
|
419
|
+
<div class="ttc" id="classSVF_1_1PhiStmt_html_a4c75a8f8430621aaec62a5189db136b5"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">SVF::PhiStmt::opICFGNodes</a></div><div class="ttdeci">OpICFGNodeVec opICFGNodes</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00677">SVFStatements.h:677</a></div></div>
|
|
376
420
|
</div><!-- fragment -->
|
|
377
421
|
</div>
|
|
378
422
|
</div>
|
|
379
423
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
380
|
-
<a id="
|
|
381
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
424
|
+
<a id="ac3541a25f83ce8465d7b35010ba50b37"></a>
|
|
425
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac3541a25f83ce8465d7b35010ba50b37">◆ </a></span>addOpVar()</h2>
|
|
382
426
|
|
|
383
427
|
<div class="memitem">
|
|
384
428
|
<div class="memproto">
|
|
@@ -390,8 +434,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
390
434
|
<td class="memname">void SVF::PhiStmt::addOpVar </td>
|
|
391
435
|
<td>(</td>
|
|
392
436
|
<td class="paramtype"><a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * </td>
|
|
393
|
-
<td class="paramname"><em>op</em
|
|
437
|
+
<td class="paramname"><em>op</em>, </td>
|
|
438
|
+
</tr>
|
|
439
|
+
<tr>
|
|
440
|
+
<td class="paramkey"></td>
|
|
394
441
|
<td></td>
|
|
442
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * </td>
|
|
443
|
+
<td class="paramname"><em>inode</em> </td>
|
|
444
|
+
</tr>
|
|
445
|
+
<tr>
|
|
446
|
+
<td></td>
|
|
447
|
+
<td>)</td>
|
|
448
|
+
<td></td><td></td>
|
|
395
449
|
</tr>
|
|
396
450
|
</table>
|
|
397
451
|
</td>
|
|
@@ -401,8 +455,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
401
455
|
</table>
|
|
402
456
|
</div><div class="memdoc">
|
|
403
457
|
|
|
404
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
405
|
-
<div class="fragment"><div class="line"><a name="
|
|
458
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00704">704</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
459
|
+
<div class="fragment"><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <a class="code" href="classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880">opVars</a>.push_back(op);</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <a class="code" href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">opICFGNodes</a>.push_back(inode);</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880">opVars</a>.size()==<a class="code" href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">opICFGNodes</a>.size() && <span class="stringliteral">"Numbers of operands and their ICFGNodes are not consistent?"</span>);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</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>
|
|
460
|
+
<div class="ttc" id="classSVF_1_1PhiStmt_html_a4c75a8f8430621aaec62a5189db136b5"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">SVF::PhiStmt::opICFGNodes</a></div><div class="ttdeci">OpICFGNodeVec opICFGNodes</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00677">SVFStatements.h:677</a></div></div>
|
|
461
|
+
<div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a172025849492f4de8f87564ef08f5880"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880">SVF::MultiOpndStmt::opVars</a></div><div class="ttdeci">OPVars opVars</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00593">SVFStatements.h:593</a></div></div>
|
|
406
462
|
</div><!-- fragment -->
|
|
407
463
|
</div>
|
|
408
464
|
</div>
|
|
@@ -432,8 +488,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
432
488
|
|
|
433
489
|
<p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
|
|
434
490
|
|
|
435
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
436
|
-
<div class="fragment"><div class="line"><a name="
|
|
491
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00681">681</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
492
|
+
<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  }</div></div><!-- fragment -->
|
|
437
493
|
</div>
|
|
438
494
|
</div>
|
|
439
495
|
<a id="ac214292370d79324f6da8624fe2c7139"></a>
|
|
@@ -460,8 +516,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
460
516
|
</table>
|
|
461
517
|
</div><div class="memdoc">
|
|
462
518
|
|
|
463
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
464
|
-
<div class="fragment"><div class="line"><a name="
|
|
519
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00685">685</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
520
|
+
<div class="fragment"><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVFStmt::Phi</a>;</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVF::SVFStmt::Phi</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
465
521
|
</div><!-- fragment -->
|
|
466
522
|
</div>
|
|
467
523
|
</div>
|
|
@@ -489,8 +545,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
489
545
|
</table>
|
|
490
546
|
</div><div class="memdoc">
|
|
491
547
|
|
|
492
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
493
|
-
<div class="fragment"><div class="line"><a name="
|
|
548
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00689">689</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
549
|
+
<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  {</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVFStmt::Phi</a>;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVF::SVFStmt::Phi</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
494
550
|
</div><!-- fragment -->
|
|
495
551
|
</div>
|
|
496
552
|
</div>
|
|
@@ -518,8 +574,40 @@ Additional Inherited Members</h2></td></tr>
|
|
|
518
574
|
</table>
|
|
519
575
|
</div><div class="memdoc">
|
|
520
576
|
|
|
521
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
522
|
-
<div class="fragment"><div class="line"><a name="
|
|
577
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00693">693</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
578
|
+
<div class="fragment"><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVFStmt::Phi</a>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVF::SVFStmt::Phi</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
579
|
+
</div><!-- fragment -->
|
|
580
|
+
</div>
|
|
581
|
+
</div>
|
|
582
|
+
<a id="af7e57da55f80c53a6f483976202e4c5c"></a>
|
|
583
|
+
<h2 class="memtitle"><span class="permalink"><a href="#af7e57da55f80c53a6f483976202e4c5c">◆ </a></span>getOpICFGNode()</h2>
|
|
584
|
+
|
|
585
|
+
<div class="memitem">
|
|
586
|
+
<div class="memproto">
|
|
587
|
+
<table class="mlabels">
|
|
588
|
+
<tr>
|
|
589
|
+
<td class="mlabels-left">
|
|
590
|
+
<table class="memname">
|
|
591
|
+
<tr>
|
|
592
|
+
<td class="memname">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* SVF::PhiStmt::getOpICFGNode </td>
|
|
593
|
+
<td>(</td>
|
|
594
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a> * </td>
|
|
595
|
+
<td class="paramname"><em>op</em></td><td>)</td>
|
|
596
|
+
<td> const</td>
|
|
597
|
+
</tr>
|
|
598
|
+
</table>
|
|
599
|
+
</td>
|
|
600
|
+
<td class="mlabels-right">
|
|
601
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
602
|
+
</tr>
|
|
603
|
+
</table>
|
|
604
|
+
</div><div class="memdoc">
|
|
605
|
+
|
|
606
|
+
<p>Return the corresponding <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> of this operand. </p>
|
|
607
|
+
|
|
608
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00711">711</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
609
|
+
<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">opICFGNodes</a>.at(<a class="code" href="classSVF_1_1MultiOpndStmt.html#af3c4989a458a1e5f7a5e0ba8e5c8b6ae">getOpPos</a>(op));</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  }</div><div class="ttc" id="classSVF_1_1PhiStmt_html_a4c75a8f8430621aaec62a5189db136b5"><div class="ttname"><a href="classSVF_1_1PhiStmt.html#a4c75a8f8430621aaec62a5189db136b5">SVF::PhiStmt::opICFGNodes</a></div><div class="ttdeci">OpICFGNodeVec opICFGNodes</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00677">SVFStatements.h:677</a></div></div>
|
|
610
|
+
<div class="ttc" id="classSVF_1_1MultiOpndStmt_html_af3c4989a458a1e5f7a5e0ba8e5c8b6ae"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af3c4989a458a1e5f7a5e0ba8e5c8b6ae">SVF::MultiOpndStmt::getOpPos</a></div><div class="ttdeci">const u32_t getOpPos(const SVFVar *op) const</div><div class="ttdoc">Return the position of this op. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00633">SVFStatements.h:633</a></div></div>
|
|
523
611
|
</div><!-- fragment -->
|
|
524
612
|
</div>
|
|
525
613
|
</div>
|
|
@@ -539,8 +627,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
539
627
|
</div><div class="memdoc">
|
|
540
628
|
<p>Return true if this is a phi at the function exit to receive one or multiple return values of this function </p>
|
|
541
629
|
|
|
542
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#
|
|
543
|
-
<div class="fragment"><div class="line"><a name="
|
|
630
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00267">267</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
631
|
+
<div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> SVFUtil::isa<RetPN>(<a class="code" href="classSVF_1_1MultiOpndStmt.html#a00a14ad8f49912b876fd9d729fea4601">getRes</a>());</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div><div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a00a14ad8f49912b876fd9d729fea4601"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a00a14ad8f49912b876fd9d729fea4601">SVF::MultiOpndStmt::getRes</a></div><div class="ttdeci">const SVFVar * getRes() const</div><div class="ttdoc">Result SVFVar. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00628">SVFStatements.h:628</a></div></div>
|
|
544
632
|
</div><!-- fragment -->
|
|
545
633
|
</div>
|
|
546
634
|
</div>
|
|
@@ -598,14 +686,39 @@ Additional Inherited Members</h2></td></tr>
|
|
|
598
686
|
<p>Reimplemented from <a class="el" href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">SVF::SVFStmt</a>.</p>
|
|
599
687
|
|
|
600
688
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00090">90</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
601
|
-
<div class="fragment"><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>  std::string str;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  rawstr << <span class="stringliteral">"PhiStmt: [Var"</span> << <a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>() << <span class="stringliteral">" <-- (Var"</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* op : <a class="code" href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">getOpndVars</a>())</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  rawstr << op->getId() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  rawstr << <span class="stringliteral">")]\t"</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div><div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a0441f2646fed28830439c41a0704ed4b"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">SVF::MultiOpndStmt::getOpndVars</a></div><div class="ttdeci">const OPVars & getOpndVars() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
689
|
+
<div class="fragment"><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>  std::string str;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  rawstr << <span class="stringliteral">"PhiStmt: [Var"</span> << <a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>() << <span class="stringliteral">" <-- (Var"</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* op : <a class="code" href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">getOpndVars</a>())</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  rawstr << op->getId() << <span class="stringliteral">","</span>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  rawstr << <span class="stringliteral">")]\t"</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> }</div><div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a0441f2646fed28830439c41a0704ed4b"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">SVF::MultiOpndStmt::getOpndVars</a></div><div class="ttdeci">const OPVars & getOpndVars() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00649">SVFStatements.h:649</a></div></div>
|
|
602
690
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_a65ee8b43a3a4999eb112a197d1a9f882"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00115">SVFStatements.h:115</a></div></div>
|
|
603
691
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
604
692
|
<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>
|
|
605
693
|
<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#l00390">SVFUtil.cpp:390</a></div></div>
|
|
606
694
|
<div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
|
|
607
|
-
<div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#
|
|
695
|
+
<div class="ttc" id="classSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00253">SVFStatements.cpp:253</a></div></div>
|
|
608
696
|
</div><!-- fragment -->
|
|
697
|
+
</div>
|
|
698
|
+
</div>
|
|
699
|
+
<h2 class="groupheader">Member Data Documentation</h2>
|
|
700
|
+
<a id="a4c75a8f8430621aaec62a5189db136b5"></a>
|
|
701
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a4c75a8f8430621aaec62a5189db136b5">◆ </a></span>opICFGNodes</h2>
|
|
702
|
+
|
|
703
|
+
<div class="memitem">
|
|
704
|
+
<div class="memproto">
|
|
705
|
+
<table class="mlabels">
|
|
706
|
+
<tr>
|
|
707
|
+
<td class="mlabels-left">
|
|
708
|
+
<table class="memname">
|
|
709
|
+
<tr>
|
|
710
|
+
<td class="memname"><a class="el" href="classSVF_1_1PhiStmt.html#ac505a4fe33e82f555663872e81220ba4">OpICFGNodeVec</a> SVF::PhiStmt::opICFGNodes</td>
|
|
711
|
+
</tr>
|
|
712
|
+
</table>
|
|
713
|
+
</td>
|
|
714
|
+
<td class="mlabels-right">
|
|
715
|
+
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
716
|
+
</tr>
|
|
717
|
+
</table>
|
|
718
|
+
</div><div class="memdoc">
|
|
719
|
+
|
|
720
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00677">677</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
721
|
+
|
|
609
722
|
</div>
|
|
610
723
|
</div>
|
|
611
724
|
<hr/>The documentation for this class was generated from the following files:<ul>
|