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.
Files changed (199) hide show
  1. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  3. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +34 -32
  5. package/SVF-doxygen/html/html/ConsG_8h_source.html +20 -20
  6. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +9 -9
  14. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  19. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -15
  21. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +14 -14
  22. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +12 -6
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +90 -84
  27. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +43 -39
  28. package/SVF-doxygen/html/html/SVFIR_8h_source.html +41 -39
  29. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +21 -20
  30. package/SVF-doxygen/html/html/SVFStatements_8h.html +2 -0
  31. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +78 -62
  32. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +13 -13
  34. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +12 -12
  35. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/VFGNode_8h_source.html +5 -5
  37. package/SVF-doxygen/html/html/VFG_8cpp_source.html +42 -40
  38. package/SVF-doxygen/html/html/VFG_8h_source.html +26 -26
  39. package/SVF-doxygen/html/html/annotated.html +58 -57
  40. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  41. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +14 -13
  42. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +4 -3
  43. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  44. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  45. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  47. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +14 -13
  48. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -3
  49. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
  50. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +30 -28
  51. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +26 -22
  52. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  53. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +16 -15
  54. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +41 -40
  55. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +4 -4
  56. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +14 -13
  57. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +6 -5
  58. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +30 -28
  59. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +27 -23
  60. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  61. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  62. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +79 -77
  63. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  64. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  65. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +14 -13
  67. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +4 -3
  68. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  69. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
  70. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  72. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +20 -21
  76. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  77. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +15 -14
  78. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +6 -5
  79. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +4 -5
  80. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +14 -13
  81. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +6 -5
  82. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +33 -31
  86. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +66 -24
  87. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  88. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +4 -4
  89. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +9 -10
  90. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  91. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +21 -16
  92. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +186 -73
  93. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -40
  94. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +14 -13
  95. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +6 -5
  96. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
  98. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +8 -8
  101. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +177 -176
  102. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +160 -90
  103. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +36 -34
  104. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +340 -223
  105. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +17 -16
  106. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -5
  107. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
  109. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt-members.html +154 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +704 -0
  111. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.png +0 -0
  112. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  113. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +17 -16
  114. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +6 -5
  115. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +39 -39
  116. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +17 -16
  117. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -14
  118. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +17 -16
  119. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -14
  120. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +17 -16
  123. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +29 -28
  124. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +61 -59
  126. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  127. package/SVF-doxygen/html/html/classes.html +70 -70
  128. package/SVF-doxygen/html/html/functions_a.html +12 -8
  129. package/SVF-doxygen/html/html/functions_b.html +4 -2
  130. package/SVF-doxygen/html/html/functions_c.html +31 -29
  131. package/SVF-doxygen/html/html/functions_eval_s.html +3 -0
  132. package/SVF-doxygen/html/html/functions_func.html +12 -8
  133. package/SVF-doxygen/html/html/functions_func_c.html +18 -17
  134. package/SVF-doxygen/html/html/functions_func_g.html +19 -6
  135. package/SVF-doxygen/html/html/functions_func_o.html +2 -1
  136. package/SVF-doxygen/html/html/functions_func_s.html +8 -5
  137. package/SVF-doxygen/html/html/functions_func_t.html +1 -0
  138. package/SVF-doxygen/html/html/functions_func_u.html +1 -0
  139. package/SVF-doxygen/html/html/functions_g.html +22 -9
  140. package/SVF-doxygen/html/html/functions_i.html +3 -3
  141. package/SVF-doxygen/html/html/functions_l.html +3 -3
  142. package/SVF-doxygen/html/html/functions_m.html +1 -1
  143. package/SVF-doxygen/html/html/functions_o.html +20 -13
  144. package/SVF-doxygen/html/html/functions_p.html +6 -6
  145. package/SVF-doxygen/html/html/functions_s.html +23 -17
  146. package/SVF-doxygen/html/html/functions_t.html +5 -4
  147. package/SVF-doxygen/html/html/functions_type_o.html +3 -0
  148. package/SVF-doxygen/html/html/functions_u.html +1 -0
  149. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  150. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  151. package/SVF-doxygen/html/html/hierarchy.html +55 -54
  152. package/SVF-doxygen/html/html/namespaceSVF.html +3 -1
  153. package/SVF-doxygen/html/html/search/all_1.js +4 -3
  154. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  155. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  156. package/SVF-doxygen/html/html/search/all_13.js +8 -6
  157. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  158. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  159. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  160. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  161. package/SVF-doxygen/html/html/search/all_3.js +3 -3
  162. package/SVF-doxygen/html/html/search/all_7.js +5 -1
  163. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  164. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  165. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  166. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  167. package/SVF-doxygen/html/html/search/all_f.js +3 -1
  168. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  169. package/SVF-doxygen/html/html/search/enumvalues_f.js +1 -0
  170. package/SVF-doxygen/html/html/search/functions_0.js +4 -3
  171. package/SVF-doxygen/html/html/search/functions_10.js +1 -0
  172. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  173. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  174. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  175. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  176. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  177. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  178. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
  179. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  180. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  181. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  182. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  183. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
  184. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  185. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  186. package/include/Graphs/VFG.h +1 -1
  187. package/include/MemoryModel/SVFIR.h +3 -1
  188. package/include/MemoryModel/SVFStatements.h +76 -4
  189. package/include/SVF-FE/SVFIRBuilder.h +12 -2
  190. package/lib/Graphs/ConsG.cpp +9 -0
  191. package/lib/Graphs/ICFG.cpp +12 -17
  192. package/lib/Graphs/VFG.cpp +9 -0
  193. package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -1
  194. package/lib/MemoryModel/PointerAnalysis.cpp +0 -3
  195. package/lib/MemoryModel/SVFIR.cpp +24 -3
  196. package/lib/MemoryModel/SVFStatements.cpp +14 -0
  197. package/lib/SVF-FE/SVFIRBuilder.cpp +55 -13
  198. package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -0
  199. package/package.json +1 -1
@@ -121,19 +121,20 @@ $(function() {
121
121
  <tr><td class="entry"><a class="el" href="classSVF_1_1RetPE.html#ab4da5e54fec989eab5640acc8c4fe215">RetPE</a>()</td><td class="entry"><a class="el" href="classSVF_1_1RetPE.html">SVF::RetPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
122
122
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetPE.html#a0af89e939e91a980a083f931b209aea0">RetPE</a>(const RetPE &amp;)</td><td class="entry"><a class="el" href="classSVF_1_1RetPE.html">SVF::RetPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
123
123
  <tr><td class="entry"><a class="el" href="classSVF_1_1RetPE.html#afed855f9ee0dfddc4808672ae32263b2">RetPE</a>(SVFVar *s, SVFVar *d, const CallICFGNode *i, GEdgeKind k=SVFStmt::Ret)</td><td class="entry"><a class="el" href="classSVF_1_1RetPE.html">SVF::RetPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
124
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a852730edf374d18a3fb3985211ed7623">setBB</a>(const BasicBlock *bb)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
125
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#adb92a92f5c878576dff26cb38eab8c8c">setICFGNode</a>(ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
126
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a24dddb4e346a6e569908e3efe8a6ecc0">setValue</a>(const Value *val)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
127
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">Store</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
128
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(SVFVar *s, SVFVar *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
129
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
130
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
131
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
132
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1RetPE.html#a68aa24dcabeae26bcc4184110fbb50ef">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1RetPE.html">SVF::RetPE</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
133
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
134
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
135
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
136
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
124
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">Select</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
125
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a852730edf374d18a3fb3985211ed7623">setBB</a>(const BasicBlock *bb)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
126
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#adb92a92f5c878576dff26cb38eab8c8c">setICFGNode</a>(ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
127
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a24dddb4e346a6e569908e3efe8a6ecc0">setValue</a>(const Value *val)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
128
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">Store</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
129
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a47102f72115d41bff899b1b2ffec75b1">SVFStmt</a>(SVFVar *s, SVFVar *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
130
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmtSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
131
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
132
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
133
+ <tr><td class="entry"><a class="el" href="classSVF_1_1RetPE.html#a68aa24dcabeae26bcc4184110fbb50ef">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1RetPE.html">SVF::RetPE</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
134
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
135
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
136
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
137
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
137
138
  </table></div><!-- contents -->
138
139
  <!-- start footer part -->
139
140
  <hr class="footer"/><address class="footer"><small>
@@ -221,12 +221,13 @@ Additional Inherited Members</h2></td></tr>
221
221
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a>,
222
222
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
223
223
  <br />
224
- &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
224
+ &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">Select</a>,
225
+ <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
225
226
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">BinaryOp</a>,
226
227
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a>,
227
- <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
228
228
  <br />
229
- &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
229
+ &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
230
+ <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
230
231
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a>
231
232
  <br />
232
233
  }</td></tr>
@@ -585,8 +586,8 @@ Additional Inherited Members</h2></td></tr>
585
586
 
586
587
  <p>Reimplemented in <a class="el" href="classSVF_1_1TDJoinPE.html#accac29adba7ca4883ae161c223a1703d">SVF::TDJoinPE</a>.</p>
587
588
 
588
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00200">200</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
589
- <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; std::string str;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;RetPE: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; rawstr &lt;&lt; <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="l00207"></a><span class="lineno"> 207</span>&#160; }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</div><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>
589
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00214">214</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
590
+ <div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; std::string str;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;RetPE: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; rawstr &lt;&lt; <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="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div><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>
590
591
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00253">SVFStatements.h:253</a></div></div>
591
592
  <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>
592
593
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
@@ -98,7 +98,7 @@ $(function() {
98
98
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a3c97d77bc0348471d6c098d5655f15b2">addIntraDirectVFEdge</a>(NodeID srcId, NodeID dstId)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"></td></tr>
99
99
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(NodeID srcId, NodeID dstId, const NodeBS &amp;cpts)</td><td class="entry"><a class="el" href="classSVF_1_1SVFG.html">SVF::SVFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
100
100
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFG.html#a0554abe7c072b66ab24a900284646572">addIntraMSSAPHISVFGNode</a>(ICFGNode *BlockICFGNode, const Map&lt; u32_t, const MRVer *&gt;::const_iterator opVerBegin, const Map&lt; u32_t, const MRVer *&gt;::const_iterator opVerEnd, const MRVer *resVer, const NodeID nodeId)</td><td class="entry"><a class="el" href="classSVF_1_1SVFG.html">SVF::SVFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
101
- <tr><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">addIntraPHIVFGNode</a>(const PhiStmt *edge)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
101
+ <tr><td class="entry"><a class="el" href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">addIntraPHIVFGNode</a>(const MultiOpndStmt *edge)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
102
102
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a373e7066630719ffb7c62681f2c2a74e">addLoadVFGNode</a>(const LoadStmt *load)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
103
103
  <tr><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a59bc855eb8591d88e0898e14d4f4b607">addNullPtrVFGNode</a>(const PAGNode *pagNode)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
104
104
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">addRetEdge</a>(NodeID srcId, NodeID dstId, CallSiteID csId)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"></td></tr>
@@ -596,9 +596,9 @@ Protected Member Functions</h2></td></tr>
596
596
  <tr class="memitem:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a63994c100593efda25dbd50646dfe0dc">addActualRetVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *ret, const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs)</td></tr>
597
597
  <tr class="memdesc:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callsite Receive <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a63994c100593efda25dbd50646dfe0dc">More...</a><br /></td></tr>
598
598
  <tr class="separator:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
599
- <tr class="memitem:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">addIntraPHIVFGNode</a> (const <a class="el" href="classSVF_1_1PhiStmt.html">PhiStmt</a> *edge)</td></tr>
600
- <tr class="memdesc:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an llvm PHI <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">More...</a><br /></td></tr>
601
- <tr class="separator:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
599
+ <tr class="memitem:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">addIntraPHIVFGNode</a> (const <a class="el" href="classSVF_1_1MultiOpndStmt.html">MultiOpndStmt</a> *edge)</td></tr>
600
+ <tr class="memdesc:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an llvm PHI <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">More...</a><br /></td></tr>
601
+ <tr class="separator:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
602
602
  <tr class="memitem:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a6c2280052b44ff7029cf4b98712c374b">addCmpVFGNode</a> (const <a class="el" href="classSVF_1_1CmpStmt.html">CmpStmt</a> *edge)</td></tr>
603
603
  <tr class="memdesc:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a Compare <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a6c2280052b44ff7029cf4b98712c374b">More...</a><br /></td></tr>
604
604
  <tr class="separator:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1309,7 +1309,7 @@ Additional Inherited Members</h2></td></tr>
1309
1309
  </div><div class="memdoc">
1310
1310
 
1311
1311
  <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00469">469</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
1312
- <div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">SVFGEdge::CallIndVF</a>,csId))</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;CallIndSVFGEdge&gt;(edge) &amp;&amp; <span class="stringliteral">&quot;this should be a indirect value flow edge!&quot;</span>);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> (SVFUtil::cast&lt;CallIndSVFGEdge&gt;(edge)-&gt;addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; callEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00748">VFG.cpp:748</a></div></div>
1312
+ <div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a978c857fcc06d2f988bc9ce16ce10145">SVFGEdge::CallIndVF</a>,csId))</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;CallIndSVFGEdge&gt;(edge) &amp;&amp; <span class="stringliteral">&quot;this should be a indirect value flow edge!&quot;</span>);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> (SVFUtil::cast&lt;CallIndSVFGEdge&gt;(edge)-&gt;addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallIndSVFGEdge.html">CallIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; callEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00757">VFG.cpp:757</a></div></div>
1313
1313
  <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>
1314
1314
  <div class="ttc" id="classSVF_1_1CallIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallIndSVFGEdge.html">SVF::CallIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00138">SVFGEdge.h:138</a></div></div>
1315
1315
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
@@ -1615,7 +1615,7 @@ Additional Inherited Members</h2></td></tr>
1615
1615
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &amp;c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00057">SVFGEdge.h:57</a></div></div>
1616
1616
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
1617
1617
  <div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00248">SVFG.h:248</a></div></div>
1618
- <div class="ttc" id="classSVF_1_1VFG_html_ac34c4529229404617c346f81cc6c141f"><div class="ttname"><a href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">SVF::VFG::hasIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * hasIntraVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00713">VFG.cpp:713</a></div></div>
1618
+ <div class="ttc" id="classSVF_1_1VFG_html_ac34c4529229404617c346f81cc6c141f"><div class="ttname"><a href="classSVF_1_1VFG.html#ac34c4529229404617c346f81cc6c141f">SVF::VFG::hasIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * hasIntraVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00722">VFG.cpp:722</a></div></div>
1619
1619
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5aa80551154bcfbfa84f02df32ead6b1b0"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aa80551154bcfbfa84f02df32ead6b1b0">SVF::VFGEdge::IntraIndirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00054">VFGEdge.h:54</a></div></div>
1620
1620
  <div class="ttc" id="classSVF_1_1VFG_html_a43b0c126c2e32cb3d286a78b14e09a96"><div class="ttname"><a href="classSVF_1_1VFG.html#a43b0c126c2e32cb3d286a78b14e09a96">SVF::VFG::checkIntraEdgeParents</a></div><div class="ttdeci">void checkIntraEdgeParents(const VFGNode *srcNode, const VFGNode *dstNode)</div><div class="ttdoc">sanitize Intra edges, verify that both nodes belong to the same function. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00345">VFG.h:345</a></div></div>
1621
1621
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
@@ -1730,7 +1730,7 @@ Additional Inherited Members</h2></td></tr>
1730
1730
 
1731
1731
  <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00489">489</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
1732
1732
  <div class="fragment"><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;{</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5ac8124172b3f5f7fc94e895f6b192b668">SVFGEdge::RetIndVF</a>,csId))</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;RetIndSVFGEdge&gt;(edge) &amp;&amp; <span class="stringliteral">&quot;this should be a indirect value flow edge!&quot;</span>);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">return</span> (SVFUtil::cast&lt;RetIndSVFGEdge&gt;(edge)-&gt;addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetIndSVFGEdge.html">RetIndSVFGEdge</a>(srcNode,dstNode,csId);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; retEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;}</div><div class="ttc" id="classSVF_1_1RetIndSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetIndSVFGEdge.html">SVF::RetIndSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00177">SVFGEdge.h:177</a></div></div>
1733
- <div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00748">VFG.cpp:748</a></div></div>
1733
+ <div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00757">VFG.cpp:757</a></div></div>
1734
1734
  <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>
1735
1735
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
1736
1736
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &amp;c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00057">SVFGEdge.h:57</a></div></div>
@@ -1930,7 +1930,7 @@ Additional Inherited Members</h2></td></tr>
1930
1930
  <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00449">449</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
1931
1931
  <div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;{</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(srcId);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(dstId);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">hasThreadVFGEdge</a>(srcNode,dstNode,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5aae3168b6bc9141e4a1f3723eae4f3375">SVFGEdge::TheadMHPIndirectVF</a>))</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa&lt;IndirectSVFGEdge&gt;(edge) &amp;&amp; <span class="stringliteral">&quot;this should be a indirect value flow edge!&quot;</span>);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> (SVFUtil::cast&lt;IndirectSVFGEdge&gt;(edge)-&gt;addPointsTo(cpts) ? edge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">ThreadMHPIndSVFGEdge</a>* indirectEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadMHPIndSVFGEdge.html">ThreadMHPIndSVFGEdge</a>(srcNode,dstNode);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; indirectEdge-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">addPointsTo</a>(cpts);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(indirectEdge) ? indirectEdge : <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;}</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>
1932
1932
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
1933
- <div class="ttc" id="classSVF_1_1VFG_html_aead3b463d9aa2fae5845d97896bd18ba"><div class="ttname"><a href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">SVF::VFG::hasThreadVFGEdge</a></div><div class="ttdeci">VFGEdge * hasThreadVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00731">VFG.cpp:731</a></div></div>
1933
+ <div class="ttc" id="classSVF_1_1VFG_html_aead3b463d9aa2fae5845d97896bd18ba"><div class="ttname"><a href="classSVF_1_1VFG.html#aead3b463d9aa2fae5845d97896bd18ba">SVF::VFG::hasThreadVFGEdge</a></div><div class="ttdeci">VFGEdge * hasThreadVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00740">VFG.cpp:740</a></div></div>
1934
1934
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a50ac2e33c6a4a41291c0a476ed07de53"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a50ac2e33c6a4a41291c0a476ed07de53">SVF::IndirectSVFGEdge::addPointsTo</a></div><div class="ttdeci">bool addPointsTo(const NodeBS &amp;c)</div><div class="ttdoc">Handle memory region. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00057">SVFGEdge.h:57</a></div></div>
1935
1935
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
1936
1936
  <div class="ttc" id="classSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00248">SVFG.h:248</a></div></div>
@@ -2135,7 +2135,7 @@ Additional Inherited Members</h2></td></tr>
2135
2135
  <div class="ttc" id="classSVF_1_1SVFG_html_ad9cc1581261182b56ae232d9a9b13296"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296">SVF::SVFG::hasCallSiteChi</a></div><div class="ttdeci">bool hasCallSiteChi(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00451">SVFG.h:451</a></div></div>
2136
2136
  <div class="ttc" id="classSVF_1_1SVFG_html_a402dfe93b8692be453c4f76d048b690a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a402dfe93b8692be453c4f76d048b690a">SVF::SVFG::connectFOutAndAOut</a></div><div class="ttdeci">virtual void connectFOutAndAOut(const FormalOUTSVFGNode *formalOut, const ActualOUTSVFGNode *actualOut, CallSiteID csId, SVFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect formal-out and actual-out. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00294">SVFG.h:294</a></div></div>
2137
2137
  <div class="ttc" id="classSVF_1_1SVFG_html_a842f6f2325c9e93ea96367e9cf624ee8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8">SVF::SVFG::hasCallSiteMu</a></div><div class="ttdeci">bool hasCallSiteMu(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00455">SVFG.h:455</a></div></div>
2138
- <div class="ttc" id="classSVF_1_1VFG_html_aa055ce3c4fe1cde5529cd63dd1ef2ed6"><div class="ttname"><a href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">SVF::VFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00811">VFG.cpp:811</a></div></div>
2138
+ <div class="ttc" id="classSVF_1_1VFG_html_aa055ce3c4fe1cde5529cd63dd1ef2ed6"><div class="ttname"><a href="classSVF_1_1VFG.html#aa055ce3c4fe1cde5529cd63dd1ef2ed6">SVF::VFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, VFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect VFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00820">VFG.cpp:820</a></div></div>
2139
2139
  <div class="ttc" id="classSVF_1_1SVFG_html_acb7262c3b9161c77eb1b491048152fb0"><div class="ttname"><a href="classSVF_1_1SVFG.html#acb7262c3b9161c77eb1b491048152fb0">SVF::SVFG::FormalOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00081">SVFG.h:81</a></div></div>
2140
2140
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00090">SVFGNode.h:90</a></div></div>
2141
2141
  <div class="ttc" id="classSVF_1_1SVFG_html_ac9ab2a95cd7a09bbe4b4aa3e6fafaf62"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac9ab2a95cd7a09bbe4b4aa3e6fafaf62">SVF::SVFG::connectAInAndFIn</a></div><div class="ttdeci">virtual void connectAInAndFIn(const ActualINSVFGNode *actualIn, const FormalINSVFGNode *formalIn, CallSiteID csId, SVFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect SVFG nodes between caller and callee for indirect call site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00287">SVFG.h:287</a></div></div>
@@ -2726,7 +2726,7 @@ Additional Inherited Members</h2></td></tr>
2726
2726
  <p>Get inter value flow edges between indirect call site and callee. </p>
2727
2727
 
2728
2728
  <p class="definition">Definition at line <a class="el" href="SVFG_8h_source.html#l00304">304</a> of file <a class="el" href="SVFG_8h_source.html">SVFG.h</a>.</p>
2729
- <div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* actualParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_arg));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* formalParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_arg));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(actualParam, formalParam, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">SVFGEdge::CallDirVF</a>, csId);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge != <span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;Can not find inter value flow edge from aparam to fparam&quot;</span>);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00748">VFG.cpp:748</a></div></div>
2729
+ <div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* actualParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_arg));</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* formalParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_arg));</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(actualParam, formalParam, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">SVFGEdge::CallDirVF</a>, csId);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge != <span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;Can not find inter value flow edge from aparam to fparam&quot;</span>);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00757">VFG.cpp:757</a></div></div>
2730
2730
  <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>
2731
2731
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">SVF::VFGEdge::CallDirVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00055">VFGEdge.h:55</a></div></div>
2732
2732
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
@@ -2829,7 +2829,7 @@ Additional Inherited Members</h2></td></tr>
2829
2829
  </div><div class="memdoc">
2830
2830
 
2831
2831
  <p class="definition">Definition at line <a class="el" href="SVFG_8h_source.html#l00313">313</a> of file <a class="el" href="SVFG_8h_source.html">SVFG.h</a>.</p>
2832
- <div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* formalRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_ret));</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* actualRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_ret));</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(formalRet, actualRet, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191">SVFGEdge::RetDirVF</a>, csId);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge != <span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;Can not find inter value flow edge from fret to aret&quot;</span>);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00748">VFG.cpp:748</a></div></div>
2832
+ <div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* formalRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_ret));</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* actualRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_ret));</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(formalRet, actualRet, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191">SVFGEdge::RetDirVF</a>, csId);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge != <span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;Can not find inter value flow edge from fret to aret&quot;</span>);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00757">VFG.cpp:757</a></div></div>
2833
2833
  <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>
2834
2834
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
2835
2835
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191">SVF::VFGEdge::RetDirVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00056">VFGEdge.h:56</a></div></div>
@@ -336,7 +336,7 @@ Protected Attributes</h2></td></tr>
336
336
  <div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00741">SVFG.cpp:741</a></div></div>
337
337
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00375">PointerAnalysis.h:375</a></div></div>
338
338
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a31b754a303116f33d679dfcd886c4bed"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">SVF::SVFGBuilder::globalSvfg</a></div><div class="ttdeci">static SVFG * globalSvfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00074">SVFGBuilder.h:74</a></div></div>
339
- <div class="ttc" id="classSVF_1_1VFG_html_a0c0a7c8f0bd27bc9e88ce54c0809b11b"><div class="ttname"><a href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">SVF::VFG::updateCallGraph</a></div><div class="ttdeci">void updateCallGraph(PointerAnalysis *pta)</div><div class="ttdoc">Update VFG based on pointer analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00789">VFG.cpp:789</a></div></div>
339
+ <div class="ttc" id="classSVF_1_1VFG_html_a0c0a7c8f0bd27bc9e88ce54c0809b11b"><div class="ttname"><a href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">SVF::VFG::updateCallGraph</a></div><div class="ttdeci">void updateCallGraph(PointerAnalysis *pta)</div><div class="ttdoc">Update VFG based on pointer analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00798">VFG.cpp:798</a></div></div>
340
340
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a49cee21be46d6a3f65eec638714038ed"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed">SVF::SVFGBuilder::buildMSSA</a></div><div class="ttdeci">virtual MemSSA * buildMSSA(BVDataPTAImpl *pta, bool ptrOnlyMSSA)</div><div class="ttdoc">Build Memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00116">SVFGBuilder.cpp:116</a></div></div>
341
341
  <div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
342
342
  <div class="ttc" id="classSVF_1_1Options_html_a982b4cd71ccafd07d94f10a0a2e953c2"><div class="ttname"><a href="classSVF_1_1Options.html#a982b4cd71ccafd07d94f10a0a2e953c2">SVF::Options::SVFGWithIndirectCall</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SVFGWithIndirectCall</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00157">Options.h:157</a></div></div>
@@ -106,7 +106,7 @@ $(function() {
106
106
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a3c97d77bc0348471d6c098d5655f15b2">addIntraDirectVFEdge</a>(NodeID srcId, NodeID dstId)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"></td></tr>
107
107
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(NodeID srcId, NodeID dstId, const NodeBS &amp;cpts)</td><td class="entry"><a class="el" href="classSVF_1_1SVFG.html">SVF::SVFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
108
108
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFG.html#a0554abe7c072b66ab24a900284646572">addIntraMSSAPHISVFGNode</a>(ICFGNode *BlockICFGNode, const Map&lt; u32_t, const MRVer *&gt;::const_iterator opVerBegin, const Map&lt; u32_t, const MRVer *&gt;::const_iterator opVerEnd, const MRVer *resVer, const NodeID nodeId)</td><td class="entry"><a class="el" href="classSVF_1_1SVFG.html">SVF::SVFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
109
- <tr><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">addIntraPHIVFGNode</a>(const PhiStmt *edge)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
109
+ <tr><td class="entry"><a class="el" href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">addIntraPHIVFGNode</a>(const MultiOpndStmt *edge)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
110
110
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a373e7066630719ffb7c62681f2c2a74e">addLoadVFGNode</a>(const LoadStmt *load)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
111
111
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFGOPT.html#a6aeeb727f1d9d917ff6cffbb88350b7a">addNewSVFGEdge</a>(NodeID srcId, NodeID dstId, const SVFGEdge *preEdge, const SVFGEdge *succEdge)</td><td class="entry"><a class="el" href="classSVF_1_1SVFGOPT.html">SVF::SVFGOPT</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
112
112
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFG.html#a59bc855eb8591d88e0898e14d4f4b607">addNullPtrVFGNode</a>(const PAGNode *pagNode)</td><td class="entry"><a class="el" href="classSVF_1_1VFG.html">SVF::VFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
@@ -499,9 +499,9 @@ Protected Member Functions</h2></td></tr>
499
499
  <tr class="memitem:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a63994c100593efda25dbd50646dfe0dc">addActualRetVFGNode</a> (const <a class="el" href="namespaceSVF.html#a733b44f64a95e6e13e7379120d7a3eea">PAGNode</a> *ret, const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs)</td></tr>
500
500
  <tr class="memdesc:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callsite Receive <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a63994c100593efda25dbd50646dfe0dc">More...</a><br /></td></tr>
501
501
  <tr class="separator:a63994c100593efda25dbd50646dfe0dc inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
502
- <tr class="memitem:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">addIntraPHIVFGNode</a> (const <a class="el" href="classSVF_1_1PhiStmt.html">PhiStmt</a> *edge)</td></tr>
503
- <tr class="memdesc:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an llvm PHI <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a6a1435f8ac7f74cc81608839fa3da3df">More...</a><br /></td></tr>
504
- <tr class="separator:a6a1435f8ac7f74cc81608839fa3da3df inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
502
+ <tr class="memitem:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">addIntraPHIVFGNode</a> (const <a class="el" href="classSVF_1_1MultiOpndStmt.html">MultiOpndStmt</a> *edge)</td></tr>
503
+ <tr class="memdesc:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an llvm PHI <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#afc4268e4abd973aecd29451c99172662">More...</a><br /></td></tr>
504
+ <tr class="separator:afc4268e4abd973aecd29451c99172662 inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
505
505
  <tr class="memitem:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1VFG.html#a6c2280052b44ff7029cf4b98712c374b">addCmpVFGNode</a> (const <a class="el" href="classSVF_1_1CmpStmt.html">CmpStmt</a> *edge)</td></tr>
506
506
  <tr class="memdesc:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a Compare <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. <a href="classSVF_1_1VFG.html#a6c2280052b44ff7029cf4b98712c374b">More...</a><br /></td></tr>
507
507
  <tr class="separator:a6c2280052b44ff7029cf4b98712c374b inherit pro_methods_classSVF_1_1VFG"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -1719,7 +1719,7 @@ Additional Inherited Members</h2></td></tr>
1719
1719
  <div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
1720
1720
  <div class="ttc" id="classSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00350">SVFG.h:350</a></div></div>
1721
1721
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
1722
- <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00557">VFG.cpp:557</a></div></div>
1722
+ <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00566">VFG.cpp:566</a></div></div>
1723
1723
  <div class="ttc" id="namespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
1724
1724
  </div><!-- fragment -->
1725
1725
  </div>
@@ -1836,7 +1836,7 @@ Additional Inherited Members</h2></td></tr>
1836
1836
 
1837
1837
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8h_source.html#l00101">101</a> of file <a class="el" href="SVFGOPT_8h_source.html">SVFGOPT.h</a>.</p>
1838
1838
  <div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> phiId = <a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_ret);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> retdef = <a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_ret);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">isPhiNode</a>(fun_ret)==<span class="keyword">false</span>)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">addRetEdge</a>(retdef, phiId, csId);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">PHISVFGNode</a>* phi = SVFUtil::cast&lt;PHISVFGNode&gt;(<a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(phiId));</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">addInterPHIOperands</a>(phi, fun_ret);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; edges.insert(edge);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</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>
1839
- <div class="ttc" id="classSVF_1_1VFG_html_a27ac8d60de7be75e831b4a28f8f8f1d2"><div class="ttname"><a href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">SVF::VFG::addRetEdge</a></div><div class="ttdeci">VFGEdge * addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00576">VFG.cpp:576</a></div></div>
1839
+ <div class="ttc" id="classSVF_1_1VFG_html_a27ac8d60de7be75e831b4a28f8f8f1d2"><div class="ttname"><a href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">SVF::VFG::addRetEdge</a></div><div class="ttdeci">VFGEdge * addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00585">VFG.cpp:585</a></div></div>
1840
1840
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
1841
1841
  <div class="ttc" id="namespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
1842
1842
  <div class="ttc" id="classSVF_1_1SVFIR_html_a5de67390d38bfacd5b63b776a0ecbfff"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">SVF::SVFIR::isPhiNode</a></div><div class="ttdeci">bool isPhiNode(const SVFVar *node) const</div><div class="ttdoc">Whether this SVFVar is a result operand a of phi node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00209">SVFIR.h:209</a></div></div>
@@ -2338,7 +2338,7 @@ Additional Inherited Members</h2></td></tr>
2338
2338
  <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
2339
2339
  <div class="ttc" id="classSVF_1_1VFG_html_a5f82b3c2e8e6412e2781b960ffa98387"><div class="ttname"><a href="classSVF_1_1VFG.html#a5f82b3c2e8e6412e2781b960ffa98387">SVF::VFG::getCallSiteID</a></div><div class="ttdeci">CallSiteID getCallSiteID(const CallICFGNode *cs, const SVFFunction *func) const</div><div class="ttdoc">Get callsite given a callsiteID. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00178">VFG.h:178</a></div></div>
2340
2340
  <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>
2341
- <div class="ttc" id="classSVF_1_1VFG_html_a27ac8d60de7be75e831b4a28f8f8f1d2"><div class="ttname"><a href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">SVF::VFG::addRetEdge</a></div><div class="ttdeci">VFGEdge * addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00576">VFG.cpp:576</a></div></div>
2341
+ <div class="ttc" id="classSVF_1_1VFG_html_a27ac8d60de7be75e831b4a28f8f8f1d2"><div class="ttname"><a href="classSVF_1_1VFG.html#a27ac8d60de7be75e831b4a28f8f8f1d2">SVF::VFG::addRetEdge</a></div><div class="ttdeci">VFGEdge * addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00585">VFG.cpp:585</a></div></div>
2342
2342
  <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>
2343
2343
  <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
2344
2344
  <div class="ttc" id="classSVF_1_1CallDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallDirSVFGEdge.html">SVF::CallDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00211">VFGEdge.h:211</a></div></div>
@@ -2347,7 +2347,7 @@ Additional Inherited Members</h2></td></tr>
2347
2347
  <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html_a8932b197a076ab3069a9fe8b73e7fc32"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html#a8932b197a076ab3069a9fe8b73e7fc32">SVF::ActualParmVFGNode::getParam</a></div><div class="ttdeci">const PAGNode * getParam() const</div><div class="ttdoc">Return parameter. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00849">VFGNode.h:849</a></div></div>
2348
2348
  <div class="ttc" id="classSVF_1_1VFGNode_html_a8b320525e5a0ed93030d578030761124"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a8b320525e5a0ed93030d578030761124">SVF::VFGNode::iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00059">VFGNode.h:59</a></div></div>
2349
2349
  <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
2350
- <div class="ttc" id="classSVF_1_1VFG_html_a3c97d77bc0348471d6c098d5655f15b2"><div class="ttname"><a href="classSVF_1_1VFG.html#a3c97d77bc0348471d6c098d5655f15b2">SVF::VFG::addIntraDirectVFEdge</a></div><div class="ttdeci">VFGEdge * addIntraDirectVFEdge(NodeID srcId, NodeID dstId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00533">VFG.cpp:533</a></div></div>
2350
+ <div class="ttc" id="classSVF_1_1VFG_html_a3c97d77bc0348471d6c098d5655f15b2"><div class="ttname"><a href="classSVF_1_1VFG.html#a3c97d77bc0348471d6c098d5655f15b2">SVF::VFG::addIntraDirectVFEdge</a></div><div class="ttdeci">VFGEdge * addIntraDirectVFEdge(NodeID srcId, NodeID dstId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00542">VFG.cpp:542</a></div></div>
2351
2351
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html_a62a894e71fcf7a3db19c0488d96a7262"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html#a62a894e71fcf7a3db19c0488d96a7262">SVF::FormalRetVFGNode::getRet</a></div><div class="ttdeci">const PAGNode * getRet() const</div><div class="ttdoc">Return value at callee. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01019">VFGNode.h:1019</a></div></div>
2352
2352
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_ac15b3c2cb127b17ebad3a30fc04b6f40"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac15b3c2cb127b17ebad3a30fc04b6f40">SVF::SVFGOPT::removeAllEdges</a></div><div class="ttdeci">void removeAllEdges(const SVFGNode *node)</div><div class="ttdoc">Remove edges of a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00330">SVFGOPT.h:330</a></div></div>
2353
2353
  <div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00948">VFGNode.h:948</a></div></div>
@@ -2355,7 +2355,7 @@ Additional Inherited Members</h2></td></tr>
2355
2355
  <div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
2356
2356
  <div class="ttc" id="classSVF_1_1ActualParmVFGNode_html_ab153944a366488c5f7e91d61561e9c0e"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html#ab153944a366488c5f7e91d61561e9c0e">SVF::ActualParmVFGNode::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00843">VFGNode.h:843</a></div></div>
2357
2357
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a30a4165300d0b7ac9b31d9f9c496d943"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a30a4165300d0b7ac9b31d9f9c496d943">SVF::SVFGOPT::addInterPHIOperands</a></div><div class="ttdeci">void addInterPHIOperands(PHISVFGNode *phi, const PAGNode *operand)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00238">SVFGOPT.h:238</a></div></div>
2358
- <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00557">VFG.cpp:557</a></div></div>
2358
+ <div class="ttc" id="classSVF_1_1VFG_html_aa01f63b17acdd52122a7f1ade329ccea"><div class="ttname"><a href="classSVF_1_1VFG.html#aa01f63b17acdd52122a7f1ade329ccea">SVF::VFG::addCallEdge</a></div><div class="ttdeci">VFGEdge * addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00566">VFG.cpp:566</a></div></div>
2359
2359
  <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#l00165">GenericGraph.h:165</a></div></div>
2360
2360
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html_a68d9c5d58e2282b2891c93203233fd93"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html#a68d9c5d58e2282b2891c93203233fd93">SVF::FormalRetVFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const override</div><div class="ttdoc">Function. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01024">VFGNode.h:1024</a></div></div>
2361
2361
  <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00881">VFGNode.h:881</a></div></div>