svf-tools 1.0.795 → 1.0.796

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 (448) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +167 -161
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +51 -51
  3. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/Andersen_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
  9. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +5 -5
  13. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  14. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
  16. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  18. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
  20. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
  23. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +5 -5
  25. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +10 -10
  30. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +40 -27
  31. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
  33. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  34. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
  36. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
  38. package/SVF-doxygen/html/MemRegion_8cpp_source.html +7 -7
  39. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  40. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
  45. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  46. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  47. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +6 -6
  49. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +6 -6
  50. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +773 -777
  56. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
  57. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
  58. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/SVFStatements_8h_source.html +5 -5
  62. package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
  63. package/SVF-doxygen/html/SVFType_8cpp_source.html +70 -61
  64. package/SVF-doxygen/html/SVFType_8h.html +23 -23
  65. package/SVF-doxygen/html/SVFType_8h_source.html +401 -378
  66. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  67. package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  69. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
  73. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
  74. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
  76. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  77. package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
  79. package/SVF-doxygen/html/VFG_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
  84. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +167 -161
  86. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
  90. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  91. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
  92. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  93. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  96. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  100. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
  102. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  105. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
  107. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  108. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  112. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  113. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  115. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
  116. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  118. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +5 -5
  119. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  120. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  121. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  122. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  123. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  124. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +9 -10
  125. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  126. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
  128. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  129. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  130. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  133. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  135. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +10 -10
  136. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
  137. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
  139. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
  141. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +6 -6
  142. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  143. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  144. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  145. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  146. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  148. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
  149. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  150. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  152. package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
  153. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  155. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  156. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  157. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  158. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  159. package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +11 -7
  160. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +65 -27
  161. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +30 -27
  163. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +28 -22
  164. package/SVF-doxygen/html/classSVF_1_1SVFG.html +2 -2
  165. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  166. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  167. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  168. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +2 -2
  169. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +2 -2
  170. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +749 -769
  171. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +6 -6
  172. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +30 -27
  173. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +32 -26
  174. package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +32 -29
  175. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +33 -27
  176. package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +30 -27
  177. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +28 -22
  178. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  179. package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +32 -29
  180. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +33 -27
  181. package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +27 -24
  182. package/SVF-doxygen/html/classSVF_1_1SVFType.html +120 -23
  183. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  184. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  185. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +3 -3
  186. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  187. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  188. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
  189. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  190. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  191. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  192. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
  193. package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
  194. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  195. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  196. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  197. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  198. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  199. package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
  200. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  201. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  202. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  203. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
  204. package/SVF-doxygen/html/functions_a.html +1 -1
  205. package/SVF-doxygen/html/functions_c.html +1 -1
  206. package/SVF-doxygen/html/functions_func.html +1 -1
  207. package/SVF-doxygen/html/functions_func_c.html +1 -1
  208. package/SVF-doxygen/html/functions_func_g.html +24 -18
  209. package/SVF-doxygen/html/functions_func_i.html +17 -11
  210. package/SVF-doxygen/html/functions_g.html +25 -19
  211. package/SVF-doxygen/html/functions_i.html +16 -10
  212. package/SVF-doxygen/html/functions_p.html +19 -23
  213. package/SVF-doxygen/html/functions_r.html +5 -5
  214. package/SVF-doxygen/html/functions_s.html +14 -12
  215. package/SVF-doxygen/html/functions_t.html +7 -7
  216. package/SVF-doxygen/html/functions_v.html +3 -3
  217. package/SVF-doxygen/html/globals_func_t.html +3 -0
  218. package/SVF-doxygen/html/globals_t.html +3 -0
  219. package/SVF-doxygen/html/namespaceSVF.html +45 -36
  220. package/SVF-doxygen/html/namespacemembers.html +1 -1
  221. package/SVF-doxygen/html/namespacemembers_func.html +1 -1
  222. package/SVF-doxygen/html/search/all_0.js +1 -1
  223. package/SVF-doxygen/html/search/all_1.js +1 -1
  224. package/SVF-doxygen/html/search/all_10.js +324 -324
  225. package/SVF-doxygen/html/search/all_11.js +224 -224
  226. package/SVF-doxygen/html/search/all_12.js +541 -541
  227. package/SVF-doxygen/html/search/all_13.js +191 -190
  228. package/SVF-doxygen/html/search/all_14.js +67 -67
  229. package/SVF-doxygen/html/search/all_15.js +170 -170
  230. package/SVF-doxygen/html/search/all_16.js +63 -63
  231. package/SVF-doxygen/html/search/all_17.js +1 -1
  232. package/SVF-doxygen/html/search/all_18.js +1 -1
  233. package/SVF-doxygen/html/search/all_19.js +11 -11
  234. package/SVF-doxygen/html/search/all_1a.js +172 -172
  235. package/SVF-doxygen/html/search/all_3.js +1 -1
  236. package/SVF-doxygen/html/search/all_7.js +457 -455
  237. package/SVF-doxygen/html/search/all_8.js +194 -194
  238. package/SVF-doxygen/html/search/all_9.js +610 -608
  239. package/SVF-doxygen/html/search/all_a.js +46 -46
  240. package/SVF-doxygen/html/search/all_b.js +26 -26
  241. package/SVF-doxygen/html/search/all_c.js +116 -116
  242. package/SVF-doxygen/html/search/all_d.js +196 -196
  243. package/SVF-doxygen/html/search/all_e.js +207 -207
  244. package/SVF-doxygen/html/search/all_f.js +116 -116
  245. package/SVF-doxygen/html/search/classes_0.js +26 -26
  246. package/SVF-doxygen/html/search/classes_1.js +9 -9
  247. package/SVF-doxygen/html/search/classes_10.js +73 -73
  248. package/SVF-doxygen/html/search/classes_11.js +15 -15
  249. package/SVF-doxygen/html/search/classes_12.js +2 -2
  250. package/SVF-doxygen/html/search/classes_13.js +10 -10
  251. package/SVF-doxygen/html/search/classes_14.js +14 -14
  252. package/SVF-doxygen/html/search/classes_15.js +1 -1
  253. package/SVF-doxygen/html/search/classes_2.js +80 -80
  254. package/SVF-doxygen/html/search/classes_3.js +37 -37
  255. package/SVF-doxygen/html/search/classes_4.js +9 -9
  256. package/SVF-doxygen/html/search/classes_5.js +28 -28
  257. package/SVF-doxygen/html/search/classes_6.js +104 -104
  258. package/SVF-doxygen/html/search/classes_7.js +33 -33
  259. package/SVF-doxygen/html/search/classes_8.js +56 -56
  260. package/SVF-doxygen/html/search/classes_9.js +1 -1
  261. package/SVF-doxygen/html/search/classes_a.js +12 -12
  262. package/SVF-doxygen/html/search/classes_b.js +29 -29
  263. package/SVF-doxygen/html/search/classes_c.js +6 -6
  264. package/SVF-doxygen/html/search/classes_d.js +18 -18
  265. package/SVF-doxygen/html/search/classes_e.js +36 -36
  266. package/SVF-doxygen/html/search/classes_f.js +25 -25
  267. package/SVF-doxygen/html/search/defines_0.js +3 -3
  268. package/SVF-doxygen/html/search/defines_1.js +2 -2
  269. package/SVF-doxygen/html/search/defines_2.js +30 -30
  270. package/SVF-doxygen/html/search/defines_3.js +21 -21
  271. package/SVF-doxygen/html/search/defines_4.js +2 -2
  272. package/SVF-doxygen/html/search/defines_5.js +4 -4
  273. package/SVF-doxygen/html/search/defines_6.js +2 -2
  274. package/SVF-doxygen/html/search/defines_7.js +5 -5
  275. package/SVF-doxygen/html/search/defines_8.js +11 -11
  276. package/SVF-doxygen/html/search/defines_9.js +9 -9
  277. package/SVF-doxygen/html/search/defines_a.js +2 -2
  278. package/SVF-doxygen/html/search/defines_b.js +1 -1
  279. package/SVF-doxygen/html/search/defines_c.js +3 -3
  280. package/SVF-doxygen/html/search/defines_d.js +2 -2
  281. package/SVF-doxygen/html/search/defines_e.js +7 -7
  282. package/SVF-doxygen/html/search/defines_f.js +3 -3
  283. package/SVF-doxygen/html/search/enums_0.js +3 -3
  284. package/SVF-doxygen/html/search/enums_1.js +2 -2
  285. package/SVF-doxygen/html/search/enums_10.js +1 -1
  286. package/SVF-doxygen/html/search/enums_11.js +1 -1
  287. package/SVF-doxygen/html/search/enums_2.js +8 -8
  288. package/SVF-doxygen/html/search/enums_3.js +1 -1
  289. package/SVF-doxygen/html/search/enums_4.js +3 -3
  290. package/SVF-doxygen/html/search/enums_5.js +1 -1
  291. package/SVF-doxygen/html/search/enums_6.js +2 -2
  292. package/SVF-doxygen/html/search/enums_7.js +2 -2
  293. package/SVF-doxygen/html/search/enums_8.js +4 -4
  294. package/SVF-doxygen/html/search/enums_9.js +1 -1
  295. package/SVF-doxygen/html/search/enums_a.js +1 -1
  296. package/SVF-doxygen/html/search/enums_b.js +7 -7
  297. package/SVF-doxygen/html/search/enums_c.js +1 -1
  298. package/SVF-doxygen/html/search/enums_d.js +4 -4
  299. package/SVF-doxygen/html/search/enums_e.js +2 -2
  300. package/SVF-doxygen/html/search/enums_f.js +4 -4
  301. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  302. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  303. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  304. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  305. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  306. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  307. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  308. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  309. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  310. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  311. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  312. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  313. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  314. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  315. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  316. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  317. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  318. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  319. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  320. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  321. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  322. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  323. package/SVF-doxygen/html/search/files_0.js +13 -13
  324. package/SVF-doxygen/html/search/files_1.js +7 -7
  325. package/SVF-doxygen/html/search/files_10.js +8 -8
  326. package/SVF-doxygen/html/search/files_11.js +8 -8
  327. package/SVF-doxygen/html/search/files_12.js +2 -2
  328. package/SVF-doxygen/html/search/files_2.js +55 -55
  329. package/SVF-doxygen/html/search/files_3.js +14 -14
  330. package/SVF-doxygen/html/search/files_4.js +5 -5
  331. package/SVF-doxygen/html/search/files_5.js +13 -13
  332. package/SVF-doxygen/html/search/files_6.js +9 -9
  333. package/SVF-doxygen/html/search/files_7.js +14 -14
  334. package/SVF-doxygen/html/search/files_8.js +13 -13
  335. package/SVF-doxygen/html/search/files_9.js +18 -18
  336. package/SVF-doxygen/html/search/files_a.js +3 -3
  337. package/SVF-doxygen/html/search/files_b.js +2 -2
  338. package/SVF-doxygen/html/search/files_c.js +20 -20
  339. package/SVF-doxygen/html/search/files_d.js +4 -4
  340. package/SVF-doxygen/html/search/files_e.js +62 -62
  341. package/SVF-doxygen/html/search/files_f.js +8 -8
  342. package/SVF-doxygen/html/search/functions_0.js +12 -12
  343. package/SVF-doxygen/html/search/functions_1.js +359 -359
  344. package/SVF-doxygen/html/search/functions_10.js +140 -140
  345. package/SVF-doxygen/html/search/functions_11.js +138 -138
  346. package/SVF-doxygen/html/search/functions_12.js +276 -276
  347. package/SVF-doxygen/html/search/functions_13.js +59 -58
  348. package/SVF-doxygen/html/search/functions_14.js +39 -39
  349. package/SVF-doxygen/html/search/functions_15.js +71 -71
  350. package/SVF-doxygen/html/search/functions_16.js +32 -32
  351. package/SVF-doxygen/html/search/functions_17.js +3 -3
  352. package/SVF-doxygen/html/search/functions_18.js +172 -172
  353. package/SVF-doxygen/html/search/functions_2.js +86 -86
  354. package/SVF-doxygen/html/search/functions_3.js +257 -257
  355. package/SVF-doxygen/html/search/functions_4.js +75 -75
  356. package/SVF-doxygen/html/search/functions_5.js +53 -53
  357. package/SVF-doxygen/html/search/functions_6.js +59 -59
  358. package/SVF-doxygen/html/search/functions_7.js +851 -849
  359. package/SVF-doxygen/html/search/functions_8.js +146 -146
  360. package/SVF-doxygen/html/search/functions_9.js +428 -426
  361. package/SVF-doxygen/html/search/functions_a.js +30 -30
  362. package/SVF-doxygen/html/search/functions_b.js +2 -2
  363. package/SVF-doxygen/html/search/functions_c.js +26 -26
  364. package/SVF-doxygen/html/search/functions_d.js +77 -77
  365. package/SVF-doxygen/html/search/functions_e.js +35 -35
  366. package/SVF-doxygen/html/search/functions_f.js +56 -56
  367. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  368. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  369. package/SVF-doxygen/html/search/related_0.js +2 -2
  370. package/SVF-doxygen/html/search/related_1.js +2 -2
  371. package/SVF-doxygen/html/search/related_2.js +2 -2
  372. package/SVF-doxygen/html/search/related_3.js +2 -2
  373. package/SVF-doxygen/html/search/related_4.js +2 -2
  374. package/SVF-doxygen/html/search/related_5.js +1 -1
  375. package/SVF-doxygen/html/search/related_6.js +2 -2
  376. package/SVF-doxygen/html/search/related_7.js +4 -4
  377. package/SVF-doxygen/html/search/related_8.js +2 -2
  378. package/SVF-doxygen/html/search/related_9.js +4 -4
  379. package/SVF-doxygen/html/search/related_a.js +19 -19
  380. package/SVF-doxygen/html/search/related_b.js +4 -4
  381. package/SVF-doxygen/html/search/related_c.js +1 -1
  382. package/SVF-doxygen/html/search/related_d.js +11 -11
  383. package/SVF-doxygen/html/search/related_e.js +2 -2
  384. package/SVF-doxygen/html/search/related_f.js +2 -2
  385. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  386. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  387. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  388. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  389. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  390. package/SVF-doxygen/html/search/typedefs_13.js +35 -35
  391. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  392. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  393. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  394. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  395. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  396. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  397. package/SVF-doxygen/html/search/typedefs_7.js +42 -42
  398. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  399. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  400. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  401. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  402. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  403. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  404. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  405. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  406. package/SVF-doxygen/html/search/variables_0.js +151 -151
  407. package/SVF-doxygen/html/search/variables_1.js +75 -75
  408. package/SVF-doxygen/html/search/variables_10.js +97 -97
  409. package/SVF-doxygen/html/search/variables_11.js +46 -46
  410. package/SVF-doxygen/html/search/variables_12.js +92 -92
  411. package/SVF-doxygen/html/search/variables_13.js +75 -75
  412. package/SVF-doxygen/html/search/variables_14.js +14 -14
  413. package/SVF-doxygen/html/search/variables_15.js +48 -48
  414. package/SVF-doxygen/html/search/variables_16.js +9 -9
  415. package/SVF-doxygen/html/search/variables_17.js +1 -1
  416. package/SVF-doxygen/html/search/variables_18.js +2 -2
  417. package/SVF-doxygen/html/search/variables_2.js +37 -37
  418. package/SVF-doxygen/html/search/variables_3.js +142 -142
  419. package/SVF-doxygen/html/search/variables_4.js +55 -55
  420. package/SVF-doxygen/html/search/variables_5.js +39 -39
  421. package/SVF-doxygen/html/search/variables_6.js +66 -66
  422. package/SVF-doxygen/html/search/variables_7.js +33 -33
  423. package/SVF-doxygen/html/search/variables_8.js +7 -7
  424. package/SVF-doxygen/html/search/variables_9.js +77 -77
  425. package/SVF-doxygen/html/search/variables_a.js +4 -4
  426. package/SVF-doxygen/html/search/variables_b.js +10 -10
  427. package/SVF-doxygen/html/search/variables_c.js +45 -45
  428. package/SVF-doxygen/html/search/variables_d.js +56 -56
  429. package/SVF-doxygen/html/search/variables_e.js +123 -123
  430. package/SVF-doxygen/html/search/variables_f.js +30 -30
  431. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  432. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  433. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
  434. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  435. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
  436. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
  437. package/SVF-doxygen/html/svf-ex_8cpp.html +235 -125
  438. package/SVF-doxygen/html/svf-ex_8cpp_source.html +234 -144
  439. package/package.json +1 -1
  440. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
  441. package/svf/include/MemoryModel/AccessPath.h +24 -6
  442. package/svf/include/SVFIR/SVFStatements.h +2 -2
  443. package/svf/include/SVFIR/SVFType.h +19 -0
  444. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +16 -21
  445. package/svf/lib/MemoryModel/AccessPath.cpp +15 -14
  446. package/svf/lib/SVFIR/SVFType.cpp +7 -0
  447. package/svf-llvm/lib/LLVMUtil.cpp +10 -0
  448. package/svf-llvm/tools/Example/svf-ex.cpp +65 -0
@@ -72,6 +72,7 @@ $(function() {
72
72
  </div><!--header-->
73
73
  <div class="contents">
74
74
  <div class="textblock"><code>#include &quot;<a class="el" href="LLVMUtil_8h_source.html">SVF-LLVM/LLVMUtil.h</a>&quot;</code><br />
75
+ <code>#include &quot;<a class="el" href="SVFIR2ItvExeState_8h_source.html">AbstractExecution/SVFIR2ItvExeState.h</a>&quot;</code><br />
75
76
  <code>#include &quot;<a class="el" href="SVFG_8h_source.html">Graphs/SVFG.h</a>&quot;</code><br />
76
77
  <code>#include &quot;<a class="el" href="Andersen_8h_source.html">WPA/Andersen.h</a>&quot;</code><br />
77
78
  <code>#include &quot;<a class="el" href="SVFIRBuilder_8h_source.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</code><br />
@@ -86,6 +87,8 @@ Functions</h2></td></tr>
86
87
  <tr class="separator:ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
87
88
  <tr class="memitem:a985b6c880c7922538046c6a1fa987829"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829">printPts</a> (<a class="el" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a> *pta, <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> *val)</td></tr>
88
89
  <tr class="separator:a985b6c880c7922538046c6a1fa987829"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
+ <tr class="memitem:a8fa9e6583c354b1883a32b8abf98779f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f">traverseOnSVFStmt</a> (const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</td></tr>
91
+ <tr class="separator:a8fa9e6583c354b1883a32b8abf98779f"><td class="memSeparator" colspan="2">&#160;</td></tr>
89
92
  <tr class="memitem:addc5529c5b161d0c61eba4944428455e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e">traverseOnICFG</a> (<a class="el" href="classSVF_1_1ICFG.html">ICFG</a> *icfg, const <a class="el" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *svfInst)</td></tr>
90
93
  <tr class="separator:addc5529c5b161d0c61eba4944428455e"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
94
  <tr class="memitem:ad58149e5445ad22ce478339e103ab42b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a> (const <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> *vfg, <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> *val)</td></tr>
@@ -127,10 +130,10 @@ Functions</h2></td></tr>
127
130
  </div><div class="memdoc">
128
131
  <p>An example to query alias results of two LLVM values </p>
129
132
 
130
- <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00042">42</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
131
- <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
132
- <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ae1323233941cdc9b99332e4b954a2217">alias</a>(v1,v2);</div>
133
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
133
+ <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00043">43</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
134
+ <div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
135
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ae1323233941cdc9b99332e4b954a2217">alias</a>(v1,v2);</div>
136
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
134
137
  </div><!-- fragment -->
135
138
  </div>
136
139
  </div>
@@ -170,52 +173,52 @@ Functions</h2></td></tr>
170
173
  <p>Collect uses of an LLVM Value traverseOnVFG(svfg, value);</p>
171
174
  <p>Collect all successor nodes on ICFG traverseOnICFG(icfg, value);</p>
172
175
 
173
- <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00142">142</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
174
- <div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div>
175
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
176
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div>
177
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div>
178
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; argc, argv, <span class="stringliteral">&quot;Whole Program Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div>
179
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; );</div>
180
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
181
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div>
182
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
183
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; LLVMModuleSet::preProcessBCs(moduleNameVec);</div>
184
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
185
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
186
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::buildSVFModule(moduleNameVec);</div>
187
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
188
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div>
189
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div>
190
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
191
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div>
192
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
193
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
194
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
195
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div>
196
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
197
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
198
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">&quot;icfg&quot;</span>);</div>
199
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
200
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1VFG.html">VFG</a>* vfg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VFG.html">VFG</a>(callgraph);</div>
201
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
202
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a> svfBuilder(<span class="keyword">true</span>);</div>
203
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">//SVFG* svfg =</span></div>
204
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; svfBuilder.buildFullSVFG(ander);</div>
205
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
206
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
207
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
208
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// clean up memory</span></div>
209
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">delete</span> vfg;</div>
210
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; AndersenWaveDiff::releaseAndersenWaveDiff();</div>
211
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; SVFIR::releaseSVFIR();</div>
212
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
213
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;dumpModulesToFile(<span class="stringliteral">&quot;.svf.bc&quot;</span>);</div>
214
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div>
215
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
216
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; llvm::llvm_shutdown();</div>
217
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> 0;</div>
218
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
176
+ <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00207">207</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
177
+ <div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;{</div>
178
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
179
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div>
180
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div>
181
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; argc, argv, <span class="stringliteral">&quot;Whole Program Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div>
182
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; );</div>
183
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
184
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div>
185
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
186
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; LLVMModuleSet::preProcessBCs(moduleNameVec);</div>
187
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
188
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; </div>
189
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::buildSVFModule(moduleNameVec);</div>
190
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
191
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div>
192
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div>
193
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
194
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div>
195
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
196
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
197
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
198
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div>
199
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
200
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
201
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">&quot;icfg&quot;</span>);</div>
202
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
203
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1VFG.html">VFG</a>* vfg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VFG.html">VFG</a>(callgraph);</div>
204
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
205
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a> svfBuilder(<span class="keyword">true</span>);</div>
206
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">//SVFG* svfg =</span></div>
207
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; svfBuilder.buildFullSVFG(ander);</div>
208
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
209
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
210
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; </div>
211
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="comment">// clean up memory</span></div>
212
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">delete</span> vfg;</div>
213
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; AndersenWaveDiff::releaseAndersenWaveDiff();</div>
214
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; SVFIR::releaseSVFIR();</div>
215
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
216
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;dumpModulesToFile(<span class="stringliteral">&quot;.svf.bc&quot;</span>);</div>
217
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div>
218
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
219
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; llvm::llvm_shutdown();</div>
220
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> 0;</div>
221
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div>
219
222
  </div><!-- fragment -->
220
223
  </div>
221
224
  </div>
@@ -246,28 +249,28 @@ Functions</h2></td></tr>
246
249
  </div><div class="memdoc">
247
250
  <p>An example to print points-to set of an LLVM value </p>
248
251
 
249
- <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00050">50</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
250
- <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
251
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
252
- <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
253
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::stringstream rawstr(str);</div>
254
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
255
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pNodeId = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(val);</div>
256
- <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(pNodeId);</div>
257
- <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ii = pts.<a class="code" href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">begin</a>(), ie = pts.<a class="code" href="classSVF_1_1PointsTo.html#a6e2ff63437d07a30cc6db35de032728a">end</a>();</div>
258
- <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; ii != ie; ii++)</div>
259
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
260
- <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; *ii &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
261
- <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* targetObj = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*ii);</div>
262
- <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span>(targetObj-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
263
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
264
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; targetObj-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;)\t &quot;</span>;</div>
265
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
266
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
267
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
268
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
269
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
270
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;}</div>
252
+ <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00051">51</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
253
+ <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
254
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
255
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
256
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; std::stringstream rawstr(str);</div>
257
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
258
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pNodeId = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(val);</div>
259
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(pNodeId);</div>
260
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ii = pts.<a class="code" href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">begin</a>(), ie = pts.<a class="code" href="classSVF_1_1PointsTo.html#a6e2ff63437d07a30cc6db35de032728a">end</a>();</div>
261
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; ii != ie; ii++)</div>
262
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
263
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; *ii &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
264
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* targetObj = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*ii);</div>
265
+ <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span>(targetObj-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
266
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
267
+ <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; targetObj-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;)\t &quot;</span>;</div>
268
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
269
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
270
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
271
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
272
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
273
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
271
274
  </div><!-- fragment -->
272
275
  </div>
273
276
  </div>
@@ -299,29 +302,109 @@ Functions</h2></td></tr>
299
302
  <p>An example to query/collect all successor nodes from a ICFGNode (iNode) along control-flow graph (ICFG) </p>
300
303
  <p>Traverse along VFG</p>
301
304
 
305
+ <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00141">141</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
306
+ <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
307
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* iNode = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(svfInst);</div>
308
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const ICFGNode*&gt;</a> worklist;</div>
309
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const ICFGNode*&gt;</a> visited;</div>
310
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(iNode);</div>
311
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
312
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div>
313
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
314
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div>
315
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">ICFGNode::const_iterator</a> it = vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div>
316
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div>
317
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
318
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *it;</div>
319
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
320
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f">traverseOnSVFStmt</a>(succNode);</div>
321
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
322
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
323
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; visited.insert(succNode);</div>
324
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(succNode);</div>
325
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
326
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
327
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
328
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
329
+ </div><!-- fragment -->
330
+ </div>
331
+ </div>
332
+ <a id="a8fa9e6583c354b1883a32b8abf98779f"></a>
333
+ <h2 class="memtitle"><span class="permalink"><a href="#a8fa9e6583c354b1883a32b8abf98779f">&#9670;&nbsp;</a></span>traverseOnSVFStmt()</h2>
334
+
335
+ <div class="memitem">
336
+ <div class="memproto">
337
+ <table class="memname">
338
+ <tr>
339
+ <td class="memname">void traverseOnSVFStmt </td>
340
+ <td>(</td>
341
+ <td class="paramtype">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&#160;</td>
342
+ <td class="paramname"><em>node</em></td><td>)</td>
343
+ <td></td>
344
+ </tr>
345
+ </table>
346
+ </div><div class="memdoc">
347
+ <p>An example to query/collect all SVFStmt from a ICFGNode (iNode) </p>
348
+
302
349
  <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00077">77</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
303
350
  <div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
304
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* iNode = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(svfInst);</div>
305
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const ICFGNode*&gt;</a> worklist;</div>
306
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const ICFGNode*&gt;</a> visited;</div>
307
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(iNode);</div>
308
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
309
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div>
310
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
311
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div>
312
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">ICFGNode::const_iterator</a> it = vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div>
313
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div>
314
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
315
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *it;</div>
316
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
317
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
318
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
319
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; visited.insert(succNode);</div>
320
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(succNode);</div>
321
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
322
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
323
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
324
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;}</div>
351
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>* svfir2ExeState = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html">SVFIR2ItvExeState</a>(SVFIR::getPAG());</div>
352
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a>* stmt: node-&gt;<a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
353
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
354
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrStmt.html">AddrStmt</a> *addr = SVFUtil::dyn_cast&lt;AddrStmt&gt;(stmt))</div>
355
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
356
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">translateAddr</a>(addr);</div>
357
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
358
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html">BinaryOPStmt</a> *binary = SVFUtil::dyn_cast&lt;BinaryOPStmt&gt;(stmt))</div>
359
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
360
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">translateBinary</a>(binary);</div>
361
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
362
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CmpStmt.html">CmpStmt</a> *cmp = SVFUtil::dyn_cast&lt;CmpStmt&gt;(stmt))</div>
363
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
364
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">translateCmp</a>(cmp);</div>
365
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
366
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load = SVFUtil::dyn_cast&lt;LoadStmt&gt;(stmt))</div>
367
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
368
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">translateLoad</a>(load);</div>
369
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
370
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *store = SVFUtil::dyn_cast&lt;StoreStmt&gt;(stmt))</div>
371
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
372
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">translateStore</a>(store);</div>
373
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
374
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CopyStmt.html">CopyStmt</a> *<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast&lt;CopyStmt&gt;(stmt))</div>
375
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
376
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">translateCopy</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
377
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
378
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep = SVFUtil::dyn_cast&lt;GepStmt&gt;(stmt))</div>
379
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
380
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (gep-&gt;isConstantOffset())</div>
381
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
382
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; gep-&gt;accumulateConstantByteOffset();</div>
383
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; gep-&gt;accumulateConstantOffset();</div>
384
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
385
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">translateGep</a>(gep);</div>
386
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
387
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SelectStmt.html">SelectStmt</a> *select = SVFUtil::dyn_cast&lt;SelectStmt&gt;(stmt))</div>
388
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
389
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">translateSelect</a>(select);</div>
390
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
391
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1PhiStmt.html">PhiStmt</a> *phi = SVFUtil::dyn_cast&lt;PhiStmt&gt;(stmt))</div>
392
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
393
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">translatePhi</a>(phi);</div>
394
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
395
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a> *callPE = SVFUtil::dyn_cast&lt;CallPE&gt;(stmt))</div>
396
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
397
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// To handle Call Edge</span></div>
398
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">translateCall</a>(callPE);</div>
399
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
400
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a> *retPE = SVFUtil::dyn_cast&lt;RetPE&gt;(stmt))</div>
401
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
402
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; svfir2ExeState-&gt;<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">translateRet</a>(retPE);</div>
403
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
404
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">else</span></div>
405
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;implement this part&quot;</span>);</div>
406
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
407
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
325
408
  </div><!-- fragment -->
326
409
  </div>
327
410
  </div>
@@ -355,71 +438,98 @@ Functions</h2></td></tr>
355
438
  <p>Collect all LLVM Values</p>
356
439
  <p>can only query VFGNode involving top-level pointers (starting with % or @ in LLVM IR) PAGNode* pNode = vfg-&gt;getLHSTopLevPtr(node); SVFValue* val = pNode-&gt;getValue();</p>
357
440
 
358
- <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00105">105</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
359
- <div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div>
360
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = SVFIR::getPAG();</div>
361
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
362
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pNode = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(val));</div>
363
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = vfg-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pNode);</div>
364
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const VFGNode*&gt;</a> worklist;</div>
365
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;</a> visited;</div>
366
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(vNode);</div>
367
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
368
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div>
369
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
370
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div>
371
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">VFGNode::const_iterator</a> it = vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div>
372
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div>
373
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
374
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">VFGEdge</a>* edge = *it;</div>
375
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
376
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
377
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
378
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; visited.insert(succNode);</div>
379
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(succNode);</div>
380
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
381
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
382
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
383
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
384
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;::const_iterator</a> it = visited.begin(), eit = visited.end(); it!=eit; ++it)</div>
385
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
386
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// const VFGNode* node = *it;</span></div>
387
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"></span> }</div>
388
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
441
+ <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00170">170</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
442
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div>
443
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = SVFIR::getPAG();</div>
444
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
445
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pNode = pag-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(val));</div>
446
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = vfg-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pNode);</div>
447
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const VFGNode*&gt;</a> worklist;</div>
448
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;</a> visited;</div>
449
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(vNode);</div>
450
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
451
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div>
452
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
453
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div>
454
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">VFGNode::const_iterator</a> it = vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div>
455
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div>
456
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div>
457
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">VFGEdge</a>* edge = *it;</div>
458
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
459
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
460
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
461
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; visited.insert(succNode);</div>
462
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(succNode);</div>
463
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
464
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
465
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
466
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
467
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;::const_iterator</a> it = visited.begin(), eit = visited.end(); it!=eit; ++it)</div>
468
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
469
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// const VFGNode* node = *it;</span></div>
470
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> }</div>
471
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div>
389
472
  </div><!-- fragment -->
390
473
  </div>
391
474
  </div>
392
475
  </div><!-- contents -->
393
476
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
477
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_adb82778157e0f5e7a2ea4d803bcd07ad"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVF::SVFIR2ItvExeState::translateCall</a></div><div class="ttdeci">void translateCall(const CallPE *callPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00946">SVFIR2ItvExeState.cpp:946</a></div></div>
478
+ <div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00350">SVFStatements.h:350</a></div></div>
394
479
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
395
480
  <div class="ttc" id="aclassSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
396
481
  <div class="ttc" id="aclassSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00156">Andersen.h:156</a></div></div>
482
+ <div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
397
483
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00044">ICFGEdge.h:44</a></div></div>
484
+ <div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00747">SVFStatements.h:747</a></div></div>
398
485
  <div class="ttc" id="aclassSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00170">SVFG.h:170</a></div></div>
486
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a604126e59364cb56b44a88cae5afbfb8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVF::SVFIR2ItvExeState::translateSelect</a></div><div class="ttdeci">void translateSelect(const SelectStmt *select)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00883">SVFIR2ItvExeState.cpp:883</a></div></div>
399
487
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00138">IRGraph.h:138</a></div></div>
400
488
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
489
+ <div class="ttc" id="aclassSVF_1_1ICFGNode_html_a6c68f52dd90728073fb79141df9b0661"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">SVF::ICFGNode::getSVFStmts</a></div><div class="ttdeci">const SVFStmtList &amp; getSVFStmts() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00127">ICFGNode.h:127</a></div></div>
490
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af7f42ee51b03b1aaaee18f10eec0c2b9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVF::SVFIR2ItvExeState::translateAddr</a></div><div class="ttdeci">void translateAddr(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00489">SVFIR2ItvExeState.cpp:489</a></div></div>
491
+ <div class="ttc" id="aclassSVF_1_1SelectStmt_html"><div class="ttname"><a href="classSVF_1_1SelectStmt.html">SVF::SelectStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00815">SVFStatements.h:815</a></div></div>
401
492
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00108">LLVMModule.h:108</a></div></div>
402
493
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
494
+ <div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00604">SVFStatements.h:604</a></div></div>
495
+ <div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00870">SVFStatements.h:870</a></div></div>
403
496
  <div class="ttc" id="aclassSVF_1_1VFG_html"><div class="ttname"><a href="classSVF_1_1VFG.html">SVF::VFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00050">VFG.h:50</a></div></div>
497
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aac5cc8767eb750bf121f1897788dee24"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVF::SVFIR2ItvExeState::translateCmp</a></div><div class="ttdeci">void translateCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00570">SVFIR2ItvExeState.cpp:570</a></div></div>
498
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aa274b5b4e18c28ec8035ca1b073aacfc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVF::SVFIR2ItvExeState::translateGep</a></div><div class="ttdeci">void translateGep(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00851">SVFIR2ItvExeState.cpp:851</a></div></div>
404
499
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
405
500
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
501
+ <div class="ttc" id="asvf-ex_8cpp_html_a8fa9e6583c354b1883a32b8abf98779f"><div class="ttname"><a href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f">traverseOnSVFStmt</a></div><div class="ttdeci">void traverseOnSVFStmt(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00077">svf-ex.cpp:77</a></div></div>
406
502
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
503
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae00e5398cbeb9aa1cfc464da4250a91e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVF::SVFIR2ItvExeState::translatePhi</a></div><div class="ttdeci">void translatePhi(const PhiStmt *phi)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00911">SVFIR2ItvExeState.cpp:911</a></div></div>
504
+ <div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00544">SVFStatements.h:544</a></div></div>
505
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8f2a564370d9b9fb05e139c45eeaba68"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVF::SVFIR2ItvExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00754">SVFIR2ItvExeState.cpp:754</a></div></div>
407
506
  <div class="ttc" id="aclassOptionBase_html_a4fb6c6e4a1754d702c6c1730f54457e5"><div class="ttname"><a href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; parseOptions(int argc, char *argv[], std::string description, std::string callFormat)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00075">CommandLine.h:75</a></div></div>
507
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html">SVF::SVFIR2ItvExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00041">SVFIR2ItvExeState.h:41</a></div></div>
508
+ <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html">SVF::BinaryOPStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00956">SVFStatements.h:956</a></div></div>
509
+ <div class="ttc" id="aclassSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00386">SVFStatements.h:386</a></div></div>
510
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a31e299f91eed29d1a8db3b884d57d1dc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVF::SVFIR2ItvExeState::translateRet</a></div><div class="ttdeci">void translateRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00961">SVFIR2ItvExeState.cpp:961</a></div></div>
408
511
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
512
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a449ee8f244120866037c7f6d2ee5fc13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVF::SVFIR2ItvExeState::translateBinary</a></div><div class="ttdeci">void translateBinary(const BinaryOPStmt *binary)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00508">SVFIR2ItvExeState.cpp:508</a></div></div>
409
513
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00221">GenericGraph.h:221</a></div></div>
410
514
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class.</div></div>
411
515
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00088">ICFG.h:88</a></div></div>
412
516
  <div class="ttc" id="aclassSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00046">SVFIRBuilder.h:46</a></div></div>
517
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed2e41879bae8389c49e69356b7aaac5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVF::SVFIR2ItvExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00800">SVFIR2ItvExeState.cpp:800</a></div></div>
518
+ <div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
413
519
  <div class="ttc" id="aclassSVF_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>
414
520
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_ae1323233941cdc9b99332e4b954a2217"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae1323233941cdc9b99332e4b954a2217">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const SVFValue *V1, const SVFValue *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos.</div></div>
415
521
  <div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
522
+ <div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00423">SVFStatements.h:423</a></div></div>
416
523
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
524
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afcf2f81101f1b9580d82b5c2efb83999"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVF::SVFIR2ItvExeState::translateCopy</a></div><div class="ttdeci">void translateCopy(const CopyStmt *copy)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00829">SVFIR2ItvExeState.cpp:829</a></div></div>
525
+ <div class="ttc" id="aclassSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00460">SVFStatements.h:460</a></div></div>
417
526
  <div class="ttc" id="aclassSVF_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#l00217">GenericGraph.h:217</a></div></div>
418
527
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
419
528
  <div class="ttc" id="aclassSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
420
529
  <div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
421
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01271">LLVMUtil.cpp:1271</a></div></div>
530
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01281">LLVMUtil.cpp:1281</a></div></div>
422
531
  <div class="ttc" id="aclassSVF_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>
532
+ <div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
423
533
  <div class="ttc" id="aclassSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
424
534
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_ad5b582d2672617806c61e6170d0b5a7e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
425
535
  <div class="ttc" id="aclassSVF_1_1SVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html">SVF::SVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00042">SVFGBuilder.h:42</a></div></div>