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
@@ -98,193 +98,283 @@ $(function() {
98
98
  <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> */</span></div>
99
99
  <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; </div>
100
100
  <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-LLVM/LLVMUtil.h</a>&quot;</span></div>
101
- <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div>
102
- <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Andersen_8h.html">WPA/Andersen.h</a>&quot;</span></div>
103
- <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIRBuilder_8h.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</span></div>
104
- <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CommandLine_8h.html">Util/CommandLine.h</a>&quot;</span></div>
105
- <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div>
106
- <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; </div>
107
- <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">using namespace </span>std;</div>
108
- <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
109
- <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; </div>
110
- <div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f"> 42</a></span>&#160;<a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a> <a class="code" href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f">aliasQuery</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v1, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v2)</div>
111
- <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div>
112
- <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>
113
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
114
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
115
- <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829"> 50</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829">printPts</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* val)</div>
116
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
117
- <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
118
- <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>
119
- <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::stringstream rawstr(str);</div>
120
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
121
- <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>
122
- <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>
123
- <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>
124
- <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; ii != ie; ii++)</div>
125
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div>
126
- <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>
127
- <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>
128
- <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>
129
- <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
130
- <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>
131
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; }</div>
132
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
133
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; </div>
134
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
135
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
136
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;}</div>
137
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
101
+ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIR2ItvExeState_8h.html">AbstractExecution/SVFIR2ItvExeState.h</a>&quot;</span></div>
102
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div>
103
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Andersen_8h.html">WPA/Andersen.h</a>&quot;</span></div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIRBuilder_8h.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</span></div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CommandLine_8h.html">Util/CommandLine.h</a>&quot;</span></div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div>
107
+ <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
108
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">using namespace </span>std;</div>
109
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
110
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
111
+ <div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f"> 43</a></span>&#160;<a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a> <a class="code" href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f">aliasQuery</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v1, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v2)</div>
112
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
113
+ <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>
114
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div>
115
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
116
+ <div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829"> 51</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829">printPts</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* val)</div>
117
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;{</div>
118
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
119
+ <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>
120
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; std::stringstream rawstr(str);</div>
121
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
122
+ <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>
123
+ <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>
124
+ <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>
125
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; ii != ie; ii++)</div>
126
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {</div>
127
+ <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>
128
+ <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>
129
+ <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>
130
+ <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
131
+ <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>
132
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
133
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
134
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; </div>
135
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
136
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; </div>
137
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;}</div>
138
138
  <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
139
- <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e"> 77</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e">traverseOnICFG</a>(<a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst)</div>
139
+ <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f"> 77</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f">traverseOnSVFStmt</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node)</div>
140
140
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;{</div>
141
- <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>
142
- <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>
143
- <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>
144
- <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>
145
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
146
- <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>
147
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
148
- <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>
149
- <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>
150
- <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>
151
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
152
- <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>
153
- <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>
154
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
155
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div>
156
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; visited.insert(succNode);</div>
157
- <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>
158
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
159
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
160
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
161
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;}</div>
162
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; </div>
163
- <div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b"> 105</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* vfg, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* val)</div>
164
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;{</div>
165
- <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>
166
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
167
- <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>
168
- <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>
169
- <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>
170
- <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>
171
- <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>
172
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; </div>
173
- <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>
174
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div>
175
- <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>
176
- <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>
177
- <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>
178
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
179
- <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>
180
- <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>
181
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
182
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div>
183
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; visited.insert(succNode);</div>
184
- <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>
185
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
186
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
187
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
188
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; </div>
189
- <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>
190
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
191
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// const VFGNode* node = *it;</span></div>
192
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="comment"></span> }</div>
193
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;}</div>
194
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; </div>
195
- <div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 142</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div>
196
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div>
197
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
198
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div>
199
- <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>
200
- <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>
201
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; );</div>
202
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; </div>
203
- <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>
204
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
205
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; LLVMModuleSet::preProcessBCs(moduleNameVec);</div>
206
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
207
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
208
- <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>
209
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
210
- <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>
211
- <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.<a class="code" href="classSVF_1_1SVFIRBuilder.html#a5ecf1deb5646ccb46b0b3101417f4689">build</a>();</div>
212
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
213
- <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>
214
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
141
+ <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>
142
+ <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>
143
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div>
144
+ <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>
145
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
146
+ <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>
147
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
148
+ <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>
149
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
150
+ <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>
151
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
152
+ <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>
153
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
154
+ <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>
155
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
156
+ <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>
157
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
158
+ <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>
159
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
160
+ <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>
161
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
162
+ <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>
163
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
164
+ <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>
165
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
166
+ <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>
167
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
168
+ <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>
169
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div>
170
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (gep-&gt;isConstantOffset())</div>
171
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
172
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; gep-&gt;accumulateConstantByteOffset();</div>
173
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; gep-&gt;accumulateConstantOffset();</div>
174
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
175
+ <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>
176
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
177
+ <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>
178
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
179
+ <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>
180
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
181
+ <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>
182
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
183
+ <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>
184
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
185
+ <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>
186
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div>
187
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="comment">// To handle Call Edge</span></div>
188
+ <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>
189
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div>
190
+ <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>
191
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
192
+ <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>
193
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
194
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">else</span></div>
195
+ <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>
196
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
197
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div>
198
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
199
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; </div>
200
+ <div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e"> 141</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e">traverseOnICFG</a>(<a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst)</div>
201
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div>
202
+ <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>
203
+ <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>
204
+ <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>
205
+ <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>
206
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
207
+ <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>
208
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
209
+ <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>
210
+ <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>
211
+ <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>
212
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; {</div>
213
+ <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>
214
+ <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>
215
+ <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>
216
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
217
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
218
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; visited.insert(succNode);</div>
219
+ <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>
220
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div>
221
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
222
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
223
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
215
224
  <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
216
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
217
- <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>
218
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; </div>
219
- <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>
220
- <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>
221
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
222
- <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>
225
+ <div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b"> 170</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* vfg, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* val)</div>
226
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div>
227
+ <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>
228
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
229
+ <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>
230
+ <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>
231
+ <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>
232
+ <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>
233
+ <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>
223
234
  <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
224
- <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>
225
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="comment">//SVFG* svfg =</span></div>
226
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; svfBuilder.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(ander);</div>
227
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
228
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
229
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; </div>
230
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="comment">// clean up memory</span></div>
231
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">delete</span> vfg;</div>
232
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; AndersenWaveDiff::releaseAndersenWaveDiff();</div>
233
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; SVFIR::releaseSVFIR();</div>
234
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
235
- <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>
236
- <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>
237
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
238
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; llvm::llvm_shutdown();</div>
239
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> 0;</div>
240
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
241
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
235
+ <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>
236
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
237
+ <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>
238
+ <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>
239
+ <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>
240
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div>
241
+ <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>
242
+ <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>
243
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div>
244
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div>
245
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; visited.insert(succNode);</div>
246
+ <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>
247
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
248
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
249
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
250
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; </div>
251
+ <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>
252
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
253
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="comment">// const VFGNode* node = *it;</span></div>
254
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;<span class="comment"></span> }</div>
255
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div>
256
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
257
+ <div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 207</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div>
258
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;{</div>
259
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
260
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div>
261
+ <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>
262
+ <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>
263
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; );</div>
264
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
265
+ <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>
266
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
267
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; LLVMModuleSet::preProcessBCs(moduleNameVec);</div>
268
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
269
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; </div>
270
+ <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>
271
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
272
+ <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>
273
+ <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.<a class="code" href="classSVF_1_1SVFIRBuilder.html#a5ecf1deb5646ccb46b0b3101417f4689">build</a>();</div>
274
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
275
+ <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>
276
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
277
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
278
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
279
+ <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>
280
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
281
+ <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>
282
+ <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>
283
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; </div>
284
+ <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>
285
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
286
+ <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>
287
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">//SVFG* svfg =</span></div>
288
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; svfBuilder.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(ander);</div>
289
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
290
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
291
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; </div>
292
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="comment">// clean up memory</span></div>
293
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keyword">delete</span> vfg;</div>
294
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; AndersenWaveDiff::releaseAndersenWaveDiff();</div>
295
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; SVFIR::releaseSVFIR();</div>
296
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; </div>
297
+ <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>
298
+ <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>
299
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
300
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; llvm::llvm_shutdown();</div>
301
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> 0;</div>
302
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div>
303
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
242
304
  </div><!-- fragment --></div><!-- contents -->
243
305
  <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>
244
- <div class="ttc" id="asvf-ex_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00142">svf-ex.cpp:142</a></div></div>
306
+ <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>
307
+ <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>
308
+ <div class="ttc" id="asvf-ex_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00207">svf-ex.cpp:207</a></div></div>
245
309
  <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>
246
310
  <div class="ttc" id="aclassSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
247
311
  <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>
248
312
  <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>
313
+ <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>
249
314
  <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>
315
+ <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>
250
316
  <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>
317
+ <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>
251
318
  <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>
252
319
  <div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
253
320
  <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>
254
321
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
322
+ <div class="ttc" id="aSVFIR2ItvExeState_8h_html"><div class="ttname"><a href="SVFIR2ItvExeState_8h.html">SVFIR2ItvExeState.h</a></div></div>
323
+ <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>
324
+ <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>
325
+ <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>
255
326
  <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>
256
327
  <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>
257
328
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00058">PointerAnalysis.h:58</a></div></div>
329
+ <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>
330
+ <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>
258
331
  <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>
332
+ <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>
333
+ <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>
259
334
  <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>
260
335
  <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>
336
+ <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>
261
337
  <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>
338
+ <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>
262
339
  <div class="ttc" id="aCommandLine_8h_html"><div class="ttname"><a href="CommandLine_8h.html">CommandLine.h</a></div></div>
263
- <div class="ttc" id="asvf-ex_8cpp_html_ad58149e5445ad22ce478339e103ab42b"><div class="ttname"><a href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a></div><div class="ttdeci">void traverseOnVFG(const SVFG *vfg, SVFValue *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00105">svf-ex.cpp:105</a></div></div>
340
+ <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>
341
+ <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>
342
+ <div class="ttc" id="asvf-ex_8cpp_html_ad58149e5445ad22ce478339e103ab42b"><div class="ttname"><a href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a></div><div class="ttdeci">void traverseOnVFG(const SVFG *vfg, SVFValue *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00170">svf-ex.cpp:170</a></div></div>
264
343
  <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
265
- <div class="ttc" id="asvf-ex_8cpp_html_addc5529c5b161d0c61eba4944428455e"><div class="ttname"><a href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e">traverseOnICFG</a></div><div class="ttdeci">void traverseOnICFG(ICFG *icfg, const SVFInstruction *svfInst)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00077">svf-ex.cpp:77</a></div></div>
344
+ <div class="ttc" id="asvf-ex_8cpp_html_addc5529c5b161d0c61eba4944428455e"><div class="ttname"><a href="svf-ex_8cpp.html#addc5529c5b161d0c61eba4944428455e">traverseOnICFG</a></div><div class="ttdeci">void traverseOnICFG(ICFG *icfg, const SVFInstruction *svfInst)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00141">svf-ex.cpp:141</a></div></div>
266
345
  <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>
346
+ <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>
347
+ <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>
348
+ <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>
267
349
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
350
+ <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>
268
351
  <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>
352
+ <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>
269
353
  <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>
270
354
  <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>
271
355
  <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>
272
356
  <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>
273
- <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00585">SVFType.h:585</a></div></div>
357
+ <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>
358
+ <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00604">SVFType.h:604</a></div></div>
359
+ <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>
274
360
  <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>
275
- <div class="ttc" id="asvf-ex_8cpp_html_a985b6c880c7922538046c6a1fa987829"><div class="ttname"><a href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829">printPts</a></div><div class="ttdeci">std::string printPts(PointerAnalysis *pta, SVFValue *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00050">svf-ex.cpp:50</a></div></div>
361
+ <div class="ttc" id="asvf-ex_8cpp_html_a985b6c880c7922538046c6a1fa987829"><div class="ttname"><a href="svf-ex_8cpp.html#a985b6c880c7922538046c6a1fa987829">printPts</a></div><div class="ttdeci">std::string printPts(PointerAnalysis *pta, SVFValue *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00051">svf-ex.cpp:51</a></div></div>
276
362
  <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>
277
363
  <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>
364
+ <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>
278
365
  <div class="ttc" id="aSVFG_8h_html"><div class="ttname"><a href="SVFG_8h.html">SVFG.h</a></div></div>
279
366
  <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>
367
+ <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>
368
+ <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>
280
369
  <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>
281
370
  <div class="ttc" id="aclassSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00049">SVFGBuilder.cpp:49</a></div></div>
282
371
  <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>
283
- <div class="ttc" id="asvf-ex_8cpp_html_ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f"><div class="ttname"><a href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f">aliasQuery</a></div><div class="ttdeci">SVF::AliasResult aliasQuery(PointerAnalysis *pta, SVFValue *v1, SVFValue *v2)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00042">svf-ex.cpp:42</a></div></div>
372
+ <div class="ttc" id="asvf-ex_8cpp_html_ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f"><div class="ttname"><a href="svf-ex_8cpp.html#ad2f24f5ef6a8eaf0e4a77a8a4d31bc9f">aliasQuery</a></div><div class="ttdeci">SVF::AliasResult aliasQuery(PointerAnalysis *pta, SVFValue *v1, SVFValue *v2)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00043">svf-ex.cpp:43</a></div></div>
284
373
  <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>
285
374
  <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>
286
- <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>
375
+ <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>
287
376
  <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>
377
+ <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>
288
378
  <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>
289
379
  <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>
290
380
  <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>