svf-tools 1.0.838 → 1.0.839

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 (317) hide show
  1. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp.html +86 -0
  2. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +195 -0
  3. package/SVF-doxygen/html/CFLSVFGBuilder_8h.html +98 -0
  4. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +148 -0
  5. package/SVF-doxygen/html/CFLVF_8h.html +1 -1
  6. package/SVF-doxygen/html/CFLVF_8h_source.html +5 -5
  7. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
  9. package/SVF-doxygen/html/DoubleFreeChecker_8cpp_source.html +4 -4
  10. package/SVF-doxygen/html/DoubleFreeChecker_8h_source.html +1 -1
  11. package/SVF-doxygen/html/FileChecker_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/FileChecker_8h_source.html +1 -1
  13. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  15. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +170 -136
  16. package/SVF-doxygen/html/ProgSlice_8h_source.html +314 -298
  17. package/SVF-doxygen/html/SVFGOPT_8h_source.html +5 -5
  18. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/SVFG_8cpp_source.html +29 -29
  20. package/SVF-doxygen/html/SVFG_8h_source.html +446 -444
  21. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +246 -235
  23. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp.html +1 -0
  24. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +271 -265
  25. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +75 -62
  26. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +257 -256
  27. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +18 -18
  28. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/WPAPass_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/annotated.html +377 -376
  31. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder-members.html +121 -0
  32. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +473 -0
  33. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.png +0 -0
  34. package/SVF-doxygen/html/classSVF_1_1CFLVF-members.html +1 -1
  35. package/SVF-doxygen/html/classSVF_1_1CFLVF.html +7 -7
  36. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  37. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  38. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +5 -5
  39. package/SVF-doxygen/html/classSVF_1_1FileChecker.html +3 -3
  40. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
  41. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  42. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +5 -5
  43. package/SVF-doxygen/html/classSVF_1_1ProgSlice-members.html +25 -22
  44. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +493 -366
  45. package/SVF-doxygen/html/classSVF_1_1SVFG-members.html +182 -181
  46. package/SVF-doxygen/html/classSVF_1_1SVFG.html +324 -298
  47. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -1
  48. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.png +0 -0
  49. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +7 -7
  50. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator-members.html +22 -19
  51. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +238 -159
  52. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder-members.html +11 -9
  53. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +347 -285
  54. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.png +0 -0
  55. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +259 -257
  56. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  57. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +1 -1
  58. package/SVF-doxygen/html/classes.html +95 -94
  59. package/SVF-doxygen/html/dir_1b8e404556d3e8597ae60437f0a084bf.html +2 -0
  60. package/SVF-doxygen/html/dir_8a9c8659eb68b9cbd3fead4690588a47.html +2 -0
  61. package/SVF-doxygen/html/files.html +6 -4
  62. package/SVF-doxygen/html/functions_b.html +4 -3
  63. package/SVF-doxygen/html/functions_c.html +38 -29
  64. package/SVF-doxygen/html/functions_f.html +6 -6
  65. package/SVF-doxygen/html/functions_func_b.html +3 -2
  66. package/SVF-doxygen/html/functions_func_c.html +29 -23
  67. package/SVF-doxygen/html/functions_func_g.html +14 -10
  68. package/SVF-doxygen/html/functions_func_i.html +1 -1
  69. package/SVF-doxygen/html/functions_func_r.html +6 -5
  70. package/SVF-doxygen/html/functions_func_s.html +20 -17
  71. package/SVF-doxygen/html/functions_func_~.html +3 -0
  72. package/SVF-doxygen/html/functions_g.html +10 -6
  73. package/SVF-doxygen/html/functions_i.html +5 -5
  74. package/SVF-doxygen/html/functions_m.html +1 -1
  75. package/SVF-doxygen/html/functions_n.html +8 -7
  76. package/SVF-doxygen/html/functions_p.html +15 -15
  77. package/SVF-doxygen/html/functions_r.html +12 -6
  78. package/SVF-doxygen/html/functions_rela_c.html +3 -0
  79. package/SVF-doxygen/html/functions_s.html +22 -11
  80. package/SVF-doxygen/html/functions_t.html +7 -7
  81. package/SVF-doxygen/html/functions_type_n.html +2 -1
  82. package/SVF-doxygen/html/functions_type_s.html +6 -1
  83. package/SVF-doxygen/html/functions_type_w.html +1 -0
  84. package/SVF-doxygen/html/functions_v.html +4 -6
  85. package/SVF-doxygen/html/functions_vars_m.html +1 -1
  86. package/SVF-doxygen/html/functions_vars_r.html +3 -0
  87. package/SVF-doxygen/html/functions_vars_s.html +2 -1
  88. package/SVF-doxygen/html/functions_w.html +4 -3
  89. package/SVF-doxygen/html/functions_~.html +3 -0
  90. package/SVF-doxygen/html/hierarchy.html +2 -1
  91. package/SVF-doxygen/html/namespaceSVF.html +2 -0
  92. package/SVF-doxygen/html/search/all_10.js +325 -325
  93. package/SVF-doxygen/html/search/all_11.js +224 -223
  94. package/SVF-doxygen/html/search/all_12.js +553 -551
  95. package/SVF-doxygen/html/search/all_13.js +190 -190
  96. package/SVF-doxygen/html/search/all_14.js +67 -67
  97. package/SVF-doxygen/html/search/all_15.js +167 -167
  98. package/SVF-doxygen/html/search/all_16.js +63 -63
  99. package/SVF-doxygen/html/search/all_17.js +1 -1
  100. package/SVF-doxygen/html/search/all_18.js +1 -1
  101. package/SVF-doxygen/html/search/all_19.js +11 -11
  102. package/SVF-doxygen/html/search/all_1a.js +173 -172
  103. package/SVF-doxygen/html/search/all_2.js +1 -1
  104. package/SVF-doxygen/html/search/all_3.js +466 -462
  105. package/SVF-doxygen/html/search/all_4.js +230 -230
  106. package/SVF-doxygen/html/search/all_5.js +119 -119
  107. package/SVF-doxygen/html/search/all_6.js +226 -226
  108. package/SVF-doxygen/html/search/all_7.js +1047 -1046
  109. package/SVF-doxygen/html/search/all_8.js +198 -198
  110. package/SVF-doxygen/html/search/all_9.js +608 -608
  111. package/SVF-doxygen/html/search/all_a.js +46 -46
  112. package/SVF-doxygen/html/search/all_b.js +26 -26
  113. package/SVF-doxygen/html/search/all_c.js +115 -115
  114. package/SVF-doxygen/html/search/all_d.js +197 -197
  115. package/SVF-doxygen/html/search/all_e.js +207 -207
  116. package/SVF-doxygen/html/search/all_f.js +116 -116
  117. package/SVF-doxygen/html/search/classes_0.js +26 -26
  118. package/SVF-doxygen/html/search/classes_1.js +9 -9
  119. package/SVF-doxygen/html/search/classes_10.js +73 -73
  120. package/SVF-doxygen/html/search/classes_11.js +15 -15
  121. package/SVF-doxygen/html/search/classes_12.js +2 -2
  122. package/SVF-doxygen/html/search/classes_13.js +10 -10
  123. package/SVF-doxygen/html/search/classes_14.js +14 -14
  124. package/SVF-doxygen/html/search/classes_15.js +1 -1
  125. package/SVF-doxygen/html/search/classes_2.js +81 -80
  126. package/SVF-doxygen/html/search/classes_3.js +37 -37
  127. package/SVF-doxygen/html/search/classes_4.js +9 -9
  128. package/SVF-doxygen/html/search/classes_5.js +28 -28
  129. package/SVF-doxygen/html/search/classes_6.js +104 -104
  130. package/SVF-doxygen/html/search/classes_7.js +34 -34
  131. package/SVF-doxygen/html/search/classes_8.js +56 -56
  132. package/SVF-doxygen/html/search/classes_9.js +1 -1
  133. package/SVF-doxygen/html/search/classes_a.js +12 -12
  134. package/SVF-doxygen/html/search/classes_b.js +29 -29
  135. package/SVF-doxygen/html/search/classes_c.js +6 -6
  136. package/SVF-doxygen/html/search/classes_d.js +18 -18
  137. package/SVF-doxygen/html/search/classes_e.js +36 -36
  138. package/SVF-doxygen/html/search/classes_f.js +25 -25
  139. package/SVF-doxygen/html/search/defines_0.js +3 -3
  140. package/SVF-doxygen/html/search/defines_1.js +2 -2
  141. package/SVF-doxygen/html/search/defines_2.js +30 -30
  142. package/SVF-doxygen/html/search/defines_3.js +20 -20
  143. package/SVF-doxygen/html/search/defines_4.js +2 -2
  144. package/SVF-doxygen/html/search/defines_5.js +4 -4
  145. package/SVF-doxygen/html/search/defines_6.js +2 -2
  146. package/SVF-doxygen/html/search/defines_7.js +5 -5
  147. package/SVF-doxygen/html/search/defines_8.js +11 -11
  148. package/SVF-doxygen/html/search/defines_9.js +9 -9
  149. package/SVF-doxygen/html/search/defines_a.js +2 -2
  150. package/SVF-doxygen/html/search/defines_b.js +1 -1
  151. package/SVF-doxygen/html/search/defines_c.js +3 -3
  152. package/SVF-doxygen/html/search/defines_d.js +2 -2
  153. package/SVF-doxygen/html/search/defines_e.js +7 -7
  154. package/SVF-doxygen/html/search/defines_f.js +3 -3
  155. package/SVF-doxygen/html/search/enums_0.js +3 -3
  156. package/SVF-doxygen/html/search/enums_1.js +2 -2
  157. package/SVF-doxygen/html/search/enums_10.js +1 -1
  158. package/SVF-doxygen/html/search/enums_11.js +1 -1
  159. package/SVF-doxygen/html/search/enums_2.js +8 -8
  160. package/SVF-doxygen/html/search/enums_3.js +1 -1
  161. package/SVF-doxygen/html/search/enums_4.js +3 -3
  162. package/SVF-doxygen/html/search/enums_5.js +1 -1
  163. package/SVF-doxygen/html/search/enums_6.js +2 -2
  164. package/SVF-doxygen/html/search/enums_7.js +2 -2
  165. package/SVF-doxygen/html/search/enums_8.js +4 -4
  166. package/SVF-doxygen/html/search/enums_9.js +1 -1
  167. package/SVF-doxygen/html/search/enums_a.js +1 -1
  168. package/SVF-doxygen/html/search/enums_b.js +7 -7
  169. package/SVF-doxygen/html/search/enums_c.js +1 -1
  170. package/SVF-doxygen/html/search/enums_d.js +4 -4
  171. package/SVF-doxygen/html/search/enums_e.js +2 -2
  172. package/SVF-doxygen/html/search/enums_f.js +4 -4
  173. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  174. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  175. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  176. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  177. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  178. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  179. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  180. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  181. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  182. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  183. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  184. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  185. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  186. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  187. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  188. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  189. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  190. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  191. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  192. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  193. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  194. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  195. package/SVF-doxygen/html/search/files_0.js +13 -13
  196. package/SVF-doxygen/html/search/files_1.js +7 -7
  197. package/SVF-doxygen/html/search/files_10.js +8 -8
  198. package/SVF-doxygen/html/search/files_11.js +8 -8
  199. package/SVF-doxygen/html/search/files_12.js +2 -2
  200. package/SVF-doxygen/html/search/files_2.js +57 -55
  201. package/SVF-doxygen/html/search/files_3.js +14 -14
  202. package/SVF-doxygen/html/search/files_4.js +5 -5
  203. package/SVF-doxygen/html/search/files_5.js +13 -13
  204. package/SVF-doxygen/html/search/files_6.js +9 -9
  205. package/SVF-doxygen/html/search/files_7.js +14 -14
  206. package/SVF-doxygen/html/search/files_8.js +13 -13
  207. package/SVF-doxygen/html/search/files_9.js +18 -18
  208. package/SVF-doxygen/html/search/files_a.js +3 -3
  209. package/SVF-doxygen/html/search/files_b.js +2 -2
  210. package/SVF-doxygen/html/search/files_c.js +20 -20
  211. package/SVF-doxygen/html/search/files_d.js +4 -4
  212. package/SVF-doxygen/html/search/files_e.js +62 -62
  213. package/SVF-doxygen/html/search/files_f.js +8 -8
  214. package/SVF-doxygen/html/search/functions_0.js +13 -13
  215. package/SVF-doxygen/html/search/functions_1.js +362 -362
  216. package/SVF-doxygen/html/search/functions_10.js +140 -140
  217. package/SVF-doxygen/html/search/functions_11.js +139 -139
  218. package/SVF-doxygen/html/search/functions_12.js +289 -288
  219. package/SVF-doxygen/html/search/functions_13.js +59 -59
  220. package/SVF-doxygen/html/search/functions_14.js +39 -39
  221. package/SVF-doxygen/html/search/functions_15.js +71 -71
  222. package/SVF-doxygen/html/search/functions_16.js +32 -32
  223. package/SVF-doxygen/html/search/functions_17.js +3 -3
  224. package/SVF-doxygen/html/search/functions_18.js +173 -172
  225. package/SVF-doxygen/html/search/functions_2.js +89 -89
  226. package/SVF-doxygen/html/search/functions_3.js +260 -258
  227. package/SVF-doxygen/html/search/functions_4.js +78 -78
  228. package/SVF-doxygen/html/search/functions_5.js +53 -53
  229. package/SVF-doxygen/html/search/functions_6.js +60 -60
  230. package/SVF-doxygen/html/search/functions_7.js +856 -855
  231. package/SVF-doxygen/html/search/functions_8.js +149 -149
  232. package/SVF-doxygen/html/search/functions_9.js +424 -424
  233. package/SVF-doxygen/html/search/functions_a.js +30 -30
  234. package/SVF-doxygen/html/search/functions_b.js +2 -2
  235. package/SVF-doxygen/html/search/functions_c.js +25 -25
  236. package/SVF-doxygen/html/search/functions_d.js +79 -79
  237. package/SVF-doxygen/html/search/functions_e.js +35 -35
  238. package/SVF-doxygen/html/search/functions_f.js +56 -56
  239. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  240. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  241. package/SVF-doxygen/html/search/related_0.js +2 -2
  242. package/SVF-doxygen/html/search/related_1.js +2 -2
  243. package/SVF-doxygen/html/search/related_2.js +3 -2
  244. package/SVF-doxygen/html/search/related_3.js +2 -2
  245. package/SVF-doxygen/html/search/related_4.js +2 -2
  246. package/SVF-doxygen/html/search/related_5.js +1 -1
  247. package/SVF-doxygen/html/search/related_6.js +2 -2
  248. package/SVF-doxygen/html/search/related_7.js +4 -4
  249. package/SVF-doxygen/html/search/related_8.js +2 -2
  250. package/SVF-doxygen/html/search/related_9.js +4 -4
  251. package/SVF-doxygen/html/search/related_a.js +19 -19
  252. package/SVF-doxygen/html/search/related_b.js +4 -4
  253. package/SVF-doxygen/html/search/related_c.js +2 -2
  254. package/SVF-doxygen/html/search/related_d.js +12 -12
  255. package/SVF-doxygen/html/search/related_e.js +2 -2
  256. package/SVF-doxygen/html/search/related_f.js +2 -2
  257. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  258. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  259. package/SVF-doxygen/html/search/typedefs_10.js +62 -61
  260. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  261. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  262. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  263. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  264. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  265. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  266. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  267. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  268. package/SVF-doxygen/html/search/typedefs_6.js +56 -56
  269. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  270. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  271. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  272. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  273. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  274. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  275. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  276. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  277. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  278. package/SVF-doxygen/html/search/variables_0.js +151 -151
  279. package/SVF-doxygen/html/search/variables_1.js +75 -75
  280. package/SVF-doxygen/html/search/variables_10.js +98 -98
  281. package/SVF-doxygen/html/search/variables_11.js +45 -44
  282. package/SVF-doxygen/html/search/variables_12.js +90 -90
  283. package/SVF-doxygen/html/search/variables_13.js +74 -74
  284. package/SVF-doxygen/html/search/variables_14.js +14 -14
  285. package/SVF-doxygen/html/search/variables_15.js +48 -48
  286. package/SVF-doxygen/html/search/variables_16.js +9 -9
  287. package/SVF-doxygen/html/search/variables_17.js +1 -1
  288. package/SVF-doxygen/html/search/variables_18.js +2 -2
  289. package/SVF-doxygen/html/search/variables_2.js +38 -38
  290. package/SVF-doxygen/html/search/variables_3.js +142 -142
  291. package/SVF-doxygen/html/search/variables_4.js +50 -50
  292. package/SVF-doxygen/html/search/variables_5.js +37 -37
  293. package/SVF-doxygen/html/search/variables_6.js +66 -66
  294. package/SVF-doxygen/html/search/variables_7.js +34 -34
  295. package/SVF-doxygen/html/search/variables_8.js +7 -7
  296. package/SVF-doxygen/html/search/variables_9.js +78 -78
  297. package/SVF-doxygen/html/search/variables_a.js +4 -4
  298. package/SVF-doxygen/html/search/variables_b.js +10 -10
  299. package/SVF-doxygen/html/search/variables_c.js +45 -45
  300. package/SVF-doxygen/html/search/variables_d.js +55 -55
  301. package/SVF-doxygen/html/search/variables_e.js +123 -123
  302. package/SVF-doxygen/html/search/variables_f.js +30 -30
  303. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  304. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  305. package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
  306. package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
  307. package/package.json +1 -1
  308. package/svf/include/CFL/CFLSVFGBuilder.h +58 -0
  309. package/svf/include/CFL/CFLVF.h +2 -2
  310. package/svf/include/Graphs/SVFG.h +1 -0
  311. package/svf/include/SABER/ProgSlice.h +11 -0
  312. package/svf/include/SABER/SaberCondAllocator.h +8 -0
  313. package/svf/include/SABER/SaberSVFGBuilder.h +12 -2
  314. package/svf/lib/CFL/CFLSVFGBuilder.cpp +100 -0
  315. package/svf/lib/SABER/ProgSlice.cpp +48 -1
  316. package/svf/lib/SABER/SaberSVFGBuilder.cpp +5 -0
  317. package/svf/lib/SABER/SrcSnkDDA.cpp +1 -0
@@ -0,0 +1,86 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/lib/CFL/CFLSVFGBuilder.cpp File Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_946e55d8e7afdb1629c1e1d7cdc5486a.html">lib</a></li><li class="navelem"><a class="el" href="dir_8a9c8659eb68b9cbd3fead4690588a47.html">CFL</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="headertitle">
69
+ <div class="title">CFLSVFGBuilder.cpp File Reference</div> </div>
70
+ </div><!--header-->
71
+ <div class="contents">
72
+ <div class="textblock"><code>#include &quot;<a class="el" href="PointerAnalysisImpl_8h_source.html">MemoryModel/PointerAnalysisImpl.h</a>&quot;</code><br />
73
+ <code>#include &quot;<a class="el" href="SVFG_8h_source.html">Graphs/SVFG.h</a>&quot;</code><br />
74
+ <code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
75
+ <code>#include &quot;<a class="el" href="CFLSVFGBuilder_8h_source.html">CFL/CFLSVFGBuilder.h</a>&quot;</code><br />
76
+ </div>
77
+ <p><a href="CFLSVFGBuilder_8cpp_source.html">Go to the source code of this file.</a></p>
78
+ </div><!-- contents -->
79
+ <!-- start footer part -->
80
+ <hr class="footer"/><address class="footer"><small>
81
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
82
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
83
+ </a> 1.8.17
84
+ </small></address>
85
+ </body>
86
+ </html>
@@ -0,0 +1,195 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/lib/CFL/CFLSVFGBuilder.cpp Source File</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_946e55d8e7afdb1629c1e1d7cdc5486a.html">lib</a></li><li class="navelem"><a class="el" href="dir_8a9c8659eb68b9cbd3fead4690588a47.html">CFL</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="headertitle">
69
+ <div class="title">CFLSVFGBuilder.cpp</div> </div>
70
+ </div><!--header-->
71
+ <div class="contents">
72
+ <a href="CFLSVFGBuilder_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- CFLSVFGBuilder.cpp -- Building SVFG for CFL--------------------------//</span></div>
73
+ <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
74
+ <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div>
75
+ <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div>
76
+ <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div>
77
+ <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
78
+ <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
79
+ <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div>
80
+ <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU Affero General Public License as published by</span></div>
81
+ <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div>
82
+ <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div>
83
+ <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
84
+ <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div>
85
+ <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
86
+ <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
87
+ <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU Affero General Public License for more details.</span></div>
88
+ <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
89
+ <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU Affero General Public License</span></div>
90
+ <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
91
+ <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div>
92
+ <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div>
93
+ <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
94
+ <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//</span></div>
95
+ <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// Created by Xiao on 30/12/23.</span></div>
96
+ <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div>
97
+ <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointerAnalysisImpl_8h.html">MemoryModel/PointerAnalysisImpl.h</a>&quot;</span></div>
98
+ <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div>
99
+ <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div>
100
+ <div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLSVFGBuilder_8h.html">CFL/CFLSVFGBuilder.h</a>&quot;</span></div>
101
+ <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
102
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
103
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html#ab8c71c5af2877ccacd6c34a86a9eadf2"> 35</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#ab8c71c5af2877ccacd6c34a86a9eadf2">CFLSVFGBuilder::buildSVFG</a>()</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; </div>
109
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = svfg-&gt;getMSSA();</div>
110
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; svfg-&gt;buildSVFG();</div>
111
+ <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>* pta = mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>();</div>
112
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">pasMsg</a>(<span class="stringliteral">&quot;\tCollect Global Variables\n&quot;</span>));</div>
113
+ <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
114
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; collectGlobals(pta);</div>
115
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
116
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">pasMsg</a>(<span class="stringliteral">&quot;\tRemove Dereference Direct SVFG Edge\n&quot;</span>));</div>
117
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
118
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; rmDerefDirSVFGEdges(pta);</div>
119
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; </div>
120
+ <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; rmIncomingEdgeForSUStore(pta);</div>
121
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; </div>
122
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">pasMsg</a>(<span class="stringliteral">&quot;\tAdd Sink SVFG Nodes\n&quot;</span>));</div>
123
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; </div>
124
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; AddExtActualParmSVFGNodes(pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>());</div>
125
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; </div>
126
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span>(pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div>
127
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; svfg-&gt;performStat();</div>
128
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
129
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
130
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
131
+ <div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html#a5a8d9e9a8bdb5ff8605592c2310d34a2"> 70</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a5a8d9e9a8bdb5ff8605592c2310d34a2">CFLSVFGBuilder::rmIncomingEdgeForSUStore</a>(<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>* pta)</div>
132
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;{</div>
133
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
134
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFG::iterator</a> it = svfg-&gt;begin(), eit = svfg-&gt;end(); it!=eit; ++it)</div>
135
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div>
136
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = it-&gt;second;</div>
137
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
138
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* stmtNode = SVFUtil::dyn_cast&lt;StoreSVFGNode&gt;(node))</div>
139
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
140
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;StoreStmt&gt;(stmtNode-&gt;getPAGEdge()))</div>
141
+ <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
142
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> singleton;</div>
143
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span>(isStrongUpdate(node, singleton, pta))</div>
144
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
145
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;SVFGEdge*&gt;</a> toRemove;</div>
146
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> it2 = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(), eit2 = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); it2 != eit2; ++it2)</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="keywordflow">if</span> ((*it2)-&gt;isIndirectVFGEdge())</div>
149
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
150
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; toRemove.insert(*it2);</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; }</div>
153
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge: toRemove)</div>
154
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
155
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; svfg-&gt;removeSVFGEdge(edge);</div>
156
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
157
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</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><!-- fragment --></div><!-- contents -->
163
+ <div class="ttc" id="aclassSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00229">GenericGraph.h:229</a></div></div>
164
+ <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>
165
+ <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>
166
+ <div class="ttc" id="aPointerAnalysisImpl_8h_html"><div class="ttname"><a href="PointerAnalysisImpl_8h.html">PointerAnalysisImpl.h</a></div></div>
167
+ <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>
168
+ <div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00582">SVFType.h:582</a></div></div>
169
+ <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
170
+ <div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
171
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a5a8d9e9a8bdb5ff8605592c2310d34a2"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a5a8d9e9a8bdb5ff8605592c2310d34a2">SVF::CFLSVFGBuilder::rmIncomingEdgeForSUStore</a></div><div class="ttdeci">virtual void rmIncomingEdgeForSUStore(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8cpp_source.html#l00070">CFLSVFGBuilder.cpp:70</a></div></div>
172
+ <div class="ttc" id="aclassSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00225">GenericGraph.h:225</a></div></div>
173
+ <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>
174
+ <div class="ttc" id="aSVFG_8h_html"><div class="ttname"><a href="SVFG_8h.html">SVFG.h</a></div></div>
175
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
176
+ <div class="ttc" id="aclassSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00052">MemSSA.h:52</a></div></div>
177
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
178
+ <div class="ttc" id="aclassSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA.</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00308">MemSSA.h:308</a></div></div>
179
+ <div class="ttc" id="aclassSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00359">GenericGraph.h:359</a></div></div>
180
+ <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>
181
+ <div class="ttc" id="aclassSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
182
+ <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
183
+ <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00362">PointerAnalysis.h:362</a></div></div>
184
+ <div class="ttc" id="aSVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DBUG model of each pass.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00576">SVFType.h:576</a></div></div>
185
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_ab8c71c5af2877ccacd6c34a86a9eadf2"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#ab8c71c5af2877ccacd6c34a86a9eadf2">SVF::CFLSVFGBuilder::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Re-write create SVFG method.</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8cpp_source.html#l00035">CFLSVFGBuilder.cpp:35</a></div></div>
186
+ <div class="ttc" id="aclassSVF_1_1StoreVFGNode_html"><div class="ttname"><a href="classSVF_1_1StoreVFGNode.html">SVF::StoreVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00240">VFGNode.h:240</a></div></div>
187
+ <div class="ttc" id="aCFLSVFGBuilder_8h_html"><div class="ttname"><a href="CFLSVFGBuilder_8h.html">CFLSVFGBuilder.h</a></div></div>
188
+ <!-- start footer part -->
189
+ <hr class="footer"/><address class="footer"><small>
190
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
191
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
192
+ </a> 1.8.17
193
+ </small></address>
194
+ </body>
195
+ </html>
@@ -0,0 +1,98 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/include/CFL/CFLSVFGBuilder.h File Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_390f2a6be5eff59a6919ecbd9cc9f31d.html">include</a></li><li class="navelem"><a class="el" href="dir_1b8e404556d3e8597ae60437f0a084bf.html">CFL</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="summary">
69
+ <a href="#nested-classes">Classes</a> &#124;
70
+ <a href="#namespaces">Namespaces</a> </div>
71
+ <div class="headertitle">
72
+ <div class="title">CFLSVFGBuilder.h File Reference</div> </div>
73
+ </div><!--header-->
74
+ <div class="contents">
75
+ <div class="textblock"><code>#include &quot;<a class="el" href="SaberSVFGBuilder_8h_source.html">SABER/SaberSVFGBuilder.h</a>&quot;</code><br />
76
+ </div>
77
+ <p><a href="CFLSVFGBuilder_8h_source.html">Go to the source code of this file.</a></p>
78
+ <table class="memberdecls">
79
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
80
+ Classes</h2></td></tr>
81
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSVFGBuilder.html">SVF::CFLSVFGBuilder</a></td></tr>
82
+ <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
83
+ </table><table class="memberdecls">
84
+ <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
85
+ Namespaces</h2></td></tr>
86
+ <tr class="memitem:namespaceSVF"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html">SVF</a></td></tr>
87
+ <tr class="memdesc:namespaceSVF"><td class="mdescLeft">&#160;</td><td class="mdescRight">for isBitcode <br /></td></tr>
88
+ <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
89
+ </table>
90
+ </div><!-- contents -->
91
+ <!-- start footer part -->
92
+ <hr class="footer"/><address class="footer"><small>
93
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
94
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
95
+ </a> 1.8.17
96
+ </small></address>
97
+ </body>
98
+ </html>
@@ -0,0 +1,148 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6
+ <meta name="generator" content="Doxygen 1.8.17"/>
7
+ <meta name="viewport" content="width=device-width, initial-scale=1"/>
8
+ <title>Static Value-Flow Analysis: /home/runner/work/SVF/SVF/svf/include/CFL/CFLSVFGBuilder.h Source File</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ </head>
17
+ <body>
18
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
19
+ <div id="titlearea">
20
+ <table cellspacing="0" cellpadding="0">
21
+ <tbody>
22
+ <tr style="height: 56px;">
23
+ <td id="projectalign" style="padding-left: 0.5em;">
24
+ <div id="projectname">Static Value-Flow Analysis
25
+ </div>
26
+ </td>
27
+ </tr>
28
+ </tbody>
29
+ </table>
30
+ </div>
31
+ <!-- end header part -->
32
+ <!-- Generated by Doxygen 1.8.17 -->
33
+ <script type="text/javascript">
34
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
35
+ var searchBox = new SearchBox("searchBox", "search",false,'Search');
36
+ /* @license-end */
37
+ </script>
38
+ <script type="text/javascript" src="menudata.js"></script>
39
+ <script type="text/javascript" src="menu.js"></script>
40
+ <script type="text/javascript">
41
+ /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
42
+ $(function() {
43
+ initMenu('',true,false,'search.php','Search');
44
+ $(document).ready(function() { init_search(); });
45
+ });
46
+ /* @license-end */</script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <iframe src="javascript:void(0)" frameborder="0"
58
+ name="MSearchResults" id="MSearchResults">
59
+ </iframe>
60
+ </div>
61
+
62
+ <div id="nav-path" class="navpath">
63
+ <ul>
64
+ <li class="navelem"><a class="el" href="dir_f984cfbe93434e3daf67f2a9bd6d521f.html">svf</a></li><li class="navelem"><a class="el" href="dir_390f2a6be5eff59a6919ecbd9cc9f31d.html">include</a></li><li class="navelem"><a class="el" href="dir_1b8e404556d3e8597ae60437f0a084bf.html">CFL</a></li> </ul>
65
+ </div>
66
+ </div><!-- top -->
67
+ <div class="header">
68
+ <div class="headertitle">
69
+ <div class="title">CFLSVFGBuilder.h</div> </div>
70
+ </div><!--header-->
71
+ <div class="contents">
72
+ <a href="CFLSVFGBuilder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- CFLSVFGBuilder.h -- Building SVFG for CFL--------------------------//</span></div>
73
+ <div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div>
74
+ <div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div>
75
+ <div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div>
76
+ <div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div>
77
+ <div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div>
78
+ <div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; </div>
79
+ <div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div>
80
+ <div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU Affero General Public License as published by</span></div>
81
+ <div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div>
82
+ <div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div>
83
+ <div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; </div>
84
+ <div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div>
85
+ <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
86
+ <div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div>
87
+ <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU Affero General Public License for more details.</span></div>
88
+ <div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
89
+ <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU Affero General Public License</span></div>
90
+ <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div>
91
+ <div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div>
92
+ <div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div>
93
+ <div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; </div>
94
+ <div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">//</span></div>
95
+ <div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">// Created by Xiao on 30/12/23.</span></div>
96
+ <div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">//</span></div>
97
+ <div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
98
+ <div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#ifndef SVF_CFLSVFGBUILDER_H</span></div>
99
+ <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#define SVF_CFLSVFGBUILDER_H</span></div>
100
+ <div class="line"><a name="l00029"></a><span class="lineno"> 29</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="SaberSVFGBuilder_8h.html">SABER/SaberSVFGBuilder.h</a>&quot;</span></div>
102
+ <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
103
+ <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
105
+ <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html"> 35</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CFLSVFGBuilder.html">CFLSVFGBuilder</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1SaberSVFGBuilder.html">SaberSVFGBuilder</a></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">public</span>:</div>
109
+ <div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html#a0f20a668d844f54f1af93f2baae58841"> 38</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFGNode*&gt;</a> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a0f20a668d844f54f1af93f2baae58841">SVFGNodeSet</a>;</div>
110
+ <div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html#a9559e6d0539425994d557984f962c999"> 39</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, PointsTo&gt;</a> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a9559e6d0539425994d557984f962c999">NodeToPTSSMap</a>;</div>
111
+ <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLSVFGBuilder.html#a287f937ab8cc7f493c942eb1bcdacd6d"> 40</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;NodeID&gt;</a> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a287f937ab8cc7f493c942eb1bcdacd6d">WorkList</a>;</div>
112
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
113
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a6dc5b2c97c0e4948f78bd68fbbf0fdfc">CFLSVFGBuilder</a>() = <span class="keywordflow">default</span>;</div>
114
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; </div>
115
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a96b809add064f6ce335579fa5187f219">~CFLSVFGBuilder</a>() = <span class="keywordflow">default</span>;</div>
116
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; </div>
117
+ <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">protected</span>:</div>
118
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#ab8c71c5af2877ccacd6c34a86a9eadf2">buildSVFG</a>();</div>
119
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
120
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLSVFGBuilder.html#a5a8d9e9a8bdb5ff8605592c2310d34a2">rmIncomingEdgeForSUStore</a>(<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>* pta);</div>
121
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;};</div>
122
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
123
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
124
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#endif //SVF_CFLSVFGBUILDER_H</span></div>
125
+ </div><!-- fragment --></div><!-- contents -->
126
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a9559e6d0539425994d557984f962c999"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a9559e6d0539425994d557984f962c999">SVF::CFLSVFGBuilder::NodeToPTSSMap</a></div><div class="ttdeci">Map&lt; NodeID, PointsTo &gt; NodeToPTSSMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8h_source.html#l00039">CFLSVFGBuilder.h:39</a></div></div>
127
+ <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>
128
+ <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>
129
+ <div class="ttc" id="aSaberSVFGBuilder_8h_html"><div class="ttname"><a href="SaberSVFGBuilder_8h.html">SaberSVFGBuilder.h</a></div></div>
130
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a287f937ab8cc7f493c942eb1bcdacd6d"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a287f937ab8cc7f493c942eb1bcdacd6d">SVF::CFLSVFGBuilder::WorkList</a></div><div class="ttdeci">FIFOWorkList&lt; NodeID &gt; WorkList</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8h_source.html#l00040">CFLSVFGBuilder.h:40</a></div></div>
131
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html">SVF::CFLSVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8h_source.html#l00035">CFLSVFGBuilder.h:35</a></div></div>
132
+ <div class="ttc" id="aclassSVF_1_1SaberSVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html">SVF::SaberSVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00043">SaberSVFGBuilder.h:43</a></div></div>
133
+ <div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
134
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a5a8d9e9a8bdb5ff8605592c2310d34a2"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a5a8d9e9a8bdb5ff8605592c2310d34a2">SVF::CFLSVFGBuilder::rmIncomingEdgeForSUStore</a></div><div class="ttdeci">virtual void rmIncomingEdgeForSUStore(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8cpp_source.html#l00070">CFLSVFGBuilder.cpp:70</a></div></div>
135
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a0f20a668d844f54f1af93f2baae58841"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a0f20a668d844f54f1af93f2baae58841">SVF::CFLSVFGBuilder::SVFGNodeSet</a></div><div class="ttdeci">Set&lt; const SVFGNode * &gt; SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8h_source.html#l00038">CFLSVFGBuilder.h:38</a></div></div>
136
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a96b809add064f6ce335579fa5187f219"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a96b809add064f6ce335579fa5187f219">SVF::CFLSVFGBuilder::~CFLSVFGBuilder</a></div><div class="ttdeci">virtual ~CFLSVFGBuilder()=default</div><div class="ttdoc">Destructor.</div></div>
137
+ <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList&lt; NodeID &gt;</a></div></div>
138
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_a6dc5b2c97c0e4948f78bd68fbbf0fdfc"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#a6dc5b2c97c0e4948f78bd68fbbf0fdfc">SVF::CFLSVFGBuilder::CFLSVFGBuilder</a></div><div class="ttdeci">CFLSVFGBuilder()=default</div><div class="ttdoc">Constructor.</div></div>
139
+ <div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html_ab8c71c5af2877ccacd6c34a86a9eadf2"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html#ab8c71c5af2877ccacd6c34a86a9eadf2">SVF::CFLSVFGBuilder::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Re-write create SVFG method.</div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8cpp_source.html#l00035">CFLSVFGBuilder.cpp:35</a></div></div>
140
+ <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
141
+ <!-- start footer part -->
142
+ <hr class="footer"/><address class="footer"><small>
143
+ Generated by &#160;<a href="http://www.doxygen.org/index.html">
144
+ <img class="footer" src="doxygen.png" alt="doxygen"/>
145
+ </a> 1.8.17
146
+ </small></address>
147
+ </body>
148
+ </html>