svf-tools 1.0.786 → 1.0.788

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 (299) hide show
  1. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +128 -122
  2. package/SVF-doxygen/html/CDGBuilder_8h_source.html +5 -5
  3. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp.html +92 -0
  4. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +291 -0
  5. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h.html +98 -0
  6. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +154 -0
  7. package/SVF-doxygen/html/CFBasicBlockG_8cpp_source.html +49 -184
  8. package/SVF-doxygen/html/CFBasicBlockG_8h.html +0 -2
  9. package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +509 -506
  10. package/SVF-doxygen/html/CHG_8cpp.html +2 -2
  11. package/SVF-doxygen/html/CHG_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/SVFValue_8cpp_source.html +144 -141
  17. package/SVF-doxygen/html/SVFValue_8h_source.html +9 -9
  18. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/WTO_8h_source.html +424 -372
  21. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +119 -113
  22. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -1
  23. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +302 -124
  24. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO-members.html +48 -47
  25. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +306 -236
  26. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  27. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
  28. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder-members.html +15 -14
  29. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html +90 -44
  30. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html +26 -26
  31. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -36
  32. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +121 -254
  33. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +46 -47
  34. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +185 -225
  35. package/SVF-doxygen/html/classSVF_1_1CHGraph.html +2 -2
  36. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
  37. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +2 -2
  38. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +63 -63
  39. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +28 -28
  40. package/SVF-doxygen/html/classSVF_1_1SVFG.html +1 -1
  41. package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +4 -4
  42. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +25 -22
  43. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +2 -2
  44. package/SVF-doxygen/html/classSVF_1_1VFG.html +1 -1
  45. package/SVF-doxygen/html/dir_445b24f35a8ddd2effd3d23ee1278e0a.html +2 -0
  46. package/SVF-doxygen/html/dir_fee120689dee99ef16f8bfcaa7a76083.html +2 -0
  47. package/SVF-doxygen/html/files.html +35 -33
  48. package/SVF-doxygen/html/functions.html +3 -4
  49. package/SVF-doxygen/html/functions_a.html +19 -10
  50. package/SVF-doxygen/html/functions_b.html +6 -6
  51. package/SVF-doxygen/html/functions_c.html +29 -29
  52. package/SVF-doxygen/html/functions_func.html +15 -6
  53. package/SVF-doxygen/html/functions_func_b.html +1 -1
  54. package/SVF-doxygen/html/functions_func_c.html +21 -21
  55. package/SVF-doxygen/html/functions_func_g.html +13 -14
  56. package/SVF-doxygen/html/functions_func_h.html +5 -8
  57. package/SVF-doxygen/html/functions_func_i.html +10 -7
  58. package/SVF-doxygen/html/functions_func_s.html +22 -25
  59. package/SVF-doxygen/html/functions_func_t.html +1 -1
  60. package/SVF-doxygen/html/functions_g.html +10 -11
  61. package/SVF-doxygen/html/functions_h.html +3 -6
  62. package/SVF-doxygen/html/functions_i.html +10 -7
  63. package/SVF-doxygen/html/functions_l.html +3 -3
  64. package/SVF-doxygen/html/functions_n.html +4 -4
  65. package/SVF-doxygen/html/functions_o.html +19 -19
  66. package/SVF-doxygen/html/functions_p.html +21 -17
  67. package/SVF-doxygen/html/functions_r.html +1 -1
  68. package/SVF-doxygen/html/functions_s.html +14 -17
  69. package/SVF-doxygen/html/functions_t.html +4 -4
  70. package/SVF-doxygen/html/functions_v.html +3 -3
  71. package/SVF-doxygen/html/functions_vars.html +3 -4
  72. package/SVF-doxygen/html/functions_w.html +7 -7
  73. package/SVF-doxygen/html/namespaceSVF.html +1 -1
  74. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +2 -2
  75. package/SVF-doxygen/html/search/all_0.js +123 -124
  76. package/SVF-doxygen/html/search/all_1.js +479 -476
  77. package/SVF-doxygen/html/search/all_10.js +324 -324
  78. package/SVF-doxygen/html/search/all_11.js +224 -224
  79. package/SVF-doxygen/html/search/all_12.js +541 -542
  80. package/SVF-doxygen/html/search/all_13.js +190 -190
  81. package/SVF-doxygen/html/search/all_14.js +67 -67
  82. package/SVF-doxygen/html/search/all_15.js +170 -170
  83. package/SVF-doxygen/html/search/all_16.js +63 -63
  84. package/SVF-doxygen/html/search/all_17.js +1 -1
  85. package/SVF-doxygen/html/search/all_18.js +1 -1
  86. package/SVF-doxygen/html/search/all_19.js +11 -11
  87. package/SVF-doxygen/html/search/all_1a.js +172 -172
  88. package/SVF-doxygen/html/search/all_2.js +167 -167
  89. package/SVF-doxygen/html/search/all_3.js +642 -640
  90. package/SVF-doxygen/html/search/all_4.js +233 -233
  91. package/SVF-doxygen/html/search/all_5.js +121 -121
  92. package/SVF-doxygen/html/search/all_6.js +225 -225
  93. package/SVF-doxygen/html/search/all_7.js +1038 -1038
  94. package/SVF-doxygen/html/search/all_8.js +194 -195
  95. package/SVF-doxygen/html/search/all_9.js +608 -607
  96. package/SVF-doxygen/html/search/all_a.js +46 -46
  97. package/SVF-doxygen/html/search/all_b.js +26 -26
  98. package/SVF-doxygen/html/search/all_c.js +116 -116
  99. package/SVF-doxygen/html/search/all_d.js +196 -196
  100. package/SVF-doxygen/html/search/all_e.js +207 -207
  101. package/SVF-doxygen/html/search/all_f.js +116 -116
  102. package/SVF-doxygen/html/search/classes_0.js +26 -26
  103. package/SVF-doxygen/html/search/classes_1.js +9 -9
  104. package/SVF-doxygen/html/search/classes_10.js +73 -73
  105. package/SVF-doxygen/html/search/classes_11.js +15 -15
  106. package/SVF-doxygen/html/search/classes_12.js +2 -2
  107. package/SVF-doxygen/html/search/classes_13.js +10 -10
  108. package/SVF-doxygen/html/search/classes_14.js +14 -14
  109. package/SVF-doxygen/html/search/classes_15.js +1 -1
  110. package/SVF-doxygen/html/search/classes_2.js +80 -80
  111. package/SVF-doxygen/html/search/classes_3.js +37 -37
  112. package/SVF-doxygen/html/search/classes_4.js +9 -9
  113. package/SVF-doxygen/html/search/classes_5.js +28 -28
  114. package/SVF-doxygen/html/search/classes_6.js +104 -104
  115. package/SVF-doxygen/html/search/classes_7.js +33 -33
  116. package/SVF-doxygen/html/search/classes_8.js +56 -56
  117. package/SVF-doxygen/html/search/classes_9.js +1 -1
  118. package/SVF-doxygen/html/search/classes_a.js +12 -12
  119. package/SVF-doxygen/html/search/classes_b.js +29 -29
  120. package/SVF-doxygen/html/search/classes_c.js +6 -6
  121. package/SVF-doxygen/html/search/classes_d.js +18 -18
  122. package/SVF-doxygen/html/search/classes_e.js +36 -36
  123. package/SVF-doxygen/html/search/classes_f.js +25 -25
  124. package/SVF-doxygen/html/search/defines_0.js +3 -3
  125. package/SVF-doxygen/html/search/defines_1.js +2 -2
  126. package/SVF-doxygen/html/search/defines_2.js +30 -30
  127. package/SVF-doxygen/html/search/defines_3.js +21 -21
  128. package/SVF-doxygen/html/search/defines_4.js +2 -2
  129. package/SVF-doxygen/html/search/defines_5.js +4 -4
  130. package/SVF-doxygen/html/search/defines_6.js +2 -2
  131. package/SVF-doxygen/html/search/defines_7.js +5 -5
  132. package/SVF-doxygen/html/search/defines_8.js +11 -11
  133. package/SVF-doxygen/html/search/defines_9.js +9 -9
  134. package/SVF-doxygen/html/search/defines_a.js +2 -2
  135. package/SVF-doxygen/html/search/defines_b.js +1 -1
  136. package/SVF-doxygen/html/search/defines_c.js +3 -3
  137. package/SVF-doxygen/html/search/defines_d.js +2 -2
  138. package/SVF-doxygen/html/search/defines_e.js +7 -7
  139. package/SVF-doxygen/html/search/defines_f.js +3 -3
  140. package/SVF-doxygen/html/search/enums_0.js +3 -3
  141. package/SVF-doxygen/html/search/enums_1.js +2 -2
  142. package/SVF-doxygen/html/search/enums_10.js +1 -1
  143. package/SVF-doxygen/html/search/enums_11.js +1 -1
  144. package/SVF-doxygen/html/search/enums_2.js +8 -8
  145. package/SVF-doxygen/html/search/enums_3.js +1 -1
  146. package/SVF-doxygen/html/search/enums_4.js +3 -3
  147. package/SVF-doxygen/html/search/enums_5.js +1 -1
  148. package/SVF-doxygen/html/search/enums_6.js +2 -2
  149. package/SVF-doxygen/html/search/enums_7.js +2 -2
  150. package/SVF-doxygen/html/search/enums_8.js +4 -4
  151. package/SVF-doxygen/html/search/enums_9.js +1 -1
  152. package/SVF-doxygen/html/search/enums_a.js +1 -1
  153. package/SVF-doxygen/html/search/enums_b.js +7 -7
  154. package/SVF-doxygen/html/search/enums_c.js +1 -1
  155. package/SVF-doxygen/html/search/enums_d.js +4 -4
  156. package/SVF-doxygen/html/search/enums_e.js +2 -2
  157. package/SVF-doxygen/html/search/enums_f.js +4 -4
  158. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  159. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  160. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  161. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  162. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  163. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  164. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  165. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  166. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  167. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  168. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  169. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  170. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  171. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  172. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  173. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  174. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  175. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  176. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  177. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  178. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  179. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  180. package/SVF-doxygen/html/search/files_0.js +13 -13
  181. package/SVF-doxygen/html/search/files_1.js +7 -7
  182. package/SVF-doxygen/html/search/files_10.js +8 -8
  183. package/SVF-doxygen/html/search/files_11.js +8 -8
  184. package/SVF-doxygen/html/search/files_12.js +2 -2
  185. package/SVF-doxygen/html/search/files_2.js +55 -53
  186. package/SVF-doxygen/html/search/files_3.js +14 -14
  187. package/SVF-doxygen/html/search/files_4.js +5 -5
  188. package/SVF-doxygen/html/search/files_5.js +13 -13
  189. package/SVF-doxygen/html/search/files_6.js +9 -9
  190. package/SVF-doxygen/html/search/files_7.js +14 -14
  191. package/SVF-doxygen/html/search/files_8.js +13 -13
  192. package/SVF-doxygen/html/search/files_9.js +18 -18
  193. package/SVF-doxygen/html/search/files_a.js +3 -3
  194. package/SVF-doxygen/html/search/files_b.js +2 -2
  195. package/SVF-doxygen/html/search/files_c.js +20 -20
  196. package/SVF-doxygen/html/search/files_d.js +4 -4
  197. package/SVF-doxygen/html/search/files_e.js +62 -62
  198. package/SVF-doxygen/html/search/files_f.js +8 -8
  199. package/SVF-doxygen/html/search/functions_0.js +12 -12
  200. package/SVF-doxygen/html/search/functions_1.js +359 -356
  201. package/SVF-doxygen/html/search/functions_10.js +140 -140
  202. package/SVF-doxygen/html/search/functions_11.js +138 -138
  203. package/SVF-doxygen/html/search/functions_12.js +276 -277
  204. package/SVF-doxygen/html/search/functions_13.js +58 -58
  205. package/SVF-doxygen/html/search/functions_14.js +39 -39
  206. package/SVF-doxygen/html/search/functions_15.js +71 -71
  207. package/SVF-doxygen/html/search/functions_16.js +32 -32
  208. package/SVF-doxygen/html/search/functions_17.js +3 -3
  209. package/SVF-doxygen/html/search/functions_18.js +172 -172
  210. package/SVF-doxygen/html/search/functions_2.js +86 -86
  211. package/SVF-doxygen/html/search/functions_3.js +257 -257
  212. package/SVF-doxygen/html/search/functions_4.js +75 -75
  213. package/SVF-doxygen/html/search/functions_5.js +53 -53
  214. package/SVF-doxygen/html/search/functions_6.js +59 -59
  215. package/SVF-doxygen/html/search/functions_7.js +849 -849
  216. package/SVF-doxygen/html/search/functions_8.js +146 -147
  217. package/SVF-doxygen/html/search/functions_9.js +426 -425
  218. package/SVF-doxygen/html/search/functions_a.js +30 -30
  219. package/SVF-doxygen/html/search/functions_b.js +2 -2
  220. package/SVF-doxygen/html/search/functions_c.js +26 -26
  221. package/SVF-doxygen/html/search/functions_d.js +77 -77
  222. package/SVF-doxygen/html/search/functions_e.js +35 -35
  223. package/SVF-doxygen/html/search/functions_f.js +56 -56
  224. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  225. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  226. package/SVF-doxygen/html/search/related_0.js +2 -2
  227. package/SVF-doxygen/html/search/related_1.js +2 -2
  228. package/SVF-doxygen/html/search/related_2.js +2 -2
  229. package/SVF-doxygen/html/search/related_3.js +2 -2
  230. package/SVF-doxygen/html/search/related_4.js +2 -2
  231. package/SVF-doxygen/html/search/related_5.js +1 -1
  232. package/SVF-doxygen/html/search/related_6.js +2 -2
  233. package/SVF-doxygen/html/search/related_7.js +4 -4
  234. package/SVF-doxygen/html/search/related_8.js +2 -2
  235. package/SVF-doxygen/html/search/related_9.js +4 -4
  236. package/SVF-doxygen/html/search/related_a.js +19 -19
  237. package/SVF-doxygen/html/search/related_b.js +4 -4
  238. package/SVF-doxygen/html/search/related_c.js +1 -1
  239. package/SVF-doxygen/html/search/related_d.js +11 -11
  240. package/SVF-doxygen/html/search/related_e.js +2 -2
  241. package/SVF-doxygen/html/search/related_f.js +2 -2
  242. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  243. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  244. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  245. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  246. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  247. package/SVF-doxygen/html/search/typedefs_13.js +35 -35
  248. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  249. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  250. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  251. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  252. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  253. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  254. package/SVF-doxygen/html/search/typedefs_7.js +42 -42
  255. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  256. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  257. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  258. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  259. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  260. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  261. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  262. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  263. package/SVF-doxygen/html/search/variables_0.js +151 -152
  264. package/SVF-doxygen/html/search/variables_1.js +75 -75
  265. package/SVF-doxygen/html/search/variables_10.js +97 -97
  266. package/SVF-doxygen/html/search/variables_11.js +46 -46
  267. package/SVF-doxygen/html/search/variables_12.js +92 -92
  268. package/SVF-doxygen/html/search/variables_13.js +75 -75
  269. package/SVF-doxygen/html/search/variables_14.js +14 -14
  270. package/SVF-doxygen/html/search/variables_15.js +48 -48
  271. package/SVF-doxygen/html/search/variables_16.js +9 -9
  272. package/SVF-doxygen/html/search/variables_17.js +1 -1
  273. package/SVF-doxygen/html/search/variables_18.js +2 -2
  274. package/SVF-doxygen/html/search/variables_2.js +37 -37
  275. package/SVF-doxygen/html/search/variables_3.js +142 -142
  276. package/SVF-doxygen/html/search/variables_4.js +55 -55
  277. package/SVF-doxygen/html/search/variables_5.js +39 -39
  278. package/SVF-doxygen/html/search/variables_6.js +66 -66
  279. package/SVF-doxygen/html/search/variables_7.js +33 -33
  280. package/SVF-doxygen/html/search/variables_8.js +7 -7
  281. package/SVF-doxygen/html/search/variables_9.js +77 -77
  282. package/SVF-doxygen/html/search/variables_a.js +4 -4
  283. package/SVF-doxygen/html/search/variables_b.js +10 -10
  284. package/SVF-doxygen/html/search/variables_c.js +45 -45
  285. package/SVF-doxygen/html/search/variables_d.js +56 -56
  286. package/SVF-doxygen/html/search/variables_e.js +123 -123
  287. package/SVF-doxygen/html/search/variables_f.js +30 -30
  288. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +93 -40
  289. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  290. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  291. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  292. package/package.json +1 -1
  293. package/svf/include/AbstractExecution/WTO.h +56 -10
  294. package/svf/include/Graphs/CFBasicBlockG.h +62 -50
  295. package/svf/include/Util/CFBasicBlockGBuilder.h +59 -0
  296. package/svf/lib/Graphs/CFBasicBlockG.cpp +0 -111
  297. package/svf/lib/SVFIR/SVFValue.cpp +2 -0
  298. package/svf/lib/Util/CDGBuilder.cpp +5 -0
  299. package/svf/lib/Util/CFBasicBlockGBuilder.cpp +183 -0
@@ -99,12 +99,6 @@ Public Member Functions</h2></td></tr>
99
99
  <tr class="separator:a54200b5a7c41c2ba19660da34c295e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
100
  <tr class="memitem:aa2110611126556090763024828dbc516"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#aa2110611126556090763024828dbc516">hasCFBasicBlockNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
101
101
  <tr class="separator:aa2110611126556090763024828dbc516"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
- <tr class="memitem:a39f1a9c9938ebec94ef050e3770620e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a39f1a9c9938ebec94ef050e3770620e6">getFirstCFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun) const</td></tr>
103
- <tr class="separator:a39f1a9c9938ebec94ef050e3770620e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:a76632f02601c6a628058744f736a4352"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a76632f02601c6a628058744f736a4352">hasFirstCFBasicBlockNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun) const</td></tr>
105
- <tr class="separator:a76632f02601c6a628058744f736a4352"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
- <tr class="memitem:a0fb246e9cdbc7fcdc69d9049ed61d8ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a0fb246e9cdbc7fcdc69d9049ed61d8ad">setFirstCFBasicBlockNode</a> (const <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * &gt; &amp;svfNodeMap)</td></tr>
107
- <tr class="separator:a0fb246e9cdbc7fcdc69d9049ed61d8ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
102
  <tr class="memitem:a8e41d155ded9f4527adf8f1644600839"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a8e41d155ded9f4527adf8f1644600839">hasCFBasicBlockEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *icfgEdge)</td></tr>
109
103
  <tr class="separator:a8e41d155ded9f4527adf8f1644600839"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
104
  <tr class="memitem:a154d9dae860b441b1653e0afb90f1da3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a154d9dae860b441b1653e0afb90f1da3">hasCFBasicBlockEdge</a> (<a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst) const</td></tr>
@@ -176,8 +170,6 @@ Private Attributes</h2></td></tr>
176
170
  <tr class="separator:af26009309b28b1d9f3f31f802307f6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
177
171
  <tr class="memitem:a307a47681c72267f6e90d7009d1b3c6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a> {0}</td></tr>
178
172
  <tr class="separator:a307a47681c72267f6e90d7009d1b3c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
- <tr class="memitem:a22c1d5a9da2acd9c3ad8bb5f72cfbfc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a></td></tr>
180
- <tr class="separator:a22c1d5a9da2acd9c3ad8bb5f72cfbfc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
173
  </table><table class="memberdecls">
182
174
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
183
175
  Friends</h2></td></tr>
@@ -213,7 +205,7 @@ Additional Inherited Members</h2></td></tr>
213
205
  </table>
214
206
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
215
207
  <div class="textblock">
216
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00352">352</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
208
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00349">349</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
217
209
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
218
210
  <a id="afad7ee1f21bf2983d4aa40cccf368137"></a>
219
211
  <h2 class="memtitle"><span class="permalink"><a href="#afad7ee1f21bf2983d4aa40cccf368137">&#9670;&nbsp;</a></span>CFBasicBlockGraph()</h2>
@@ -292,14 +284,14 @@ Additional Inherited Members</h2></td></tr>
292
284
 
293
285
  <p>Add ICFGEdgeWrapper. </p>
294
286
 
295
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00476">476</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
296
- <div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; {</div>
297
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordtype">bool</span> added1 = edge-&gt;getDstNode()-&gt;addIncomingEdge(edge);</div>
298
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordtype">bool</span> added2 = edge-&gt;getSrcNode()-&gt;addOutgoingEdge(edge);</div>
299
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; assert(added1 &amp;&amp; added2 &amp;&amp; <span class="stringliteral">&quot;edge not added??&quot;</span>);</div>
300
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
301
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
302
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div>
287
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00451">451</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
288
+ <div class="fragment"><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
289
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordtype">bool</span> added1 = edge-&gt;getDstNode()-&gt;addIncomingEdge(edge);</div>
290
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordtype">bool</span> added2 = edge-&gt;getSrcNode()-&gt;addOutgoingEdge(edge);</div>
291
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; assert(added1 &amp;&amp; added2 &amp;&amp; <span class="stringliteral">&quot;edge not added??&quot;</span>);</div>
292
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
293
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
294
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div>
303
295
  </div><!-- fragment -->
304
296
  </div>
305
297
  </div>
@@ -329,11 +321,11 @@ Additional Inherited Members</h2></td></tr>
329
321
 
330
322
  <p>Add a ICFGNodeWrapper. </p>
331
323
 
332
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00486">486</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
333
- <div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div>
334
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-&gt;getId(), node);</div>
335
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++;</div>
336
- <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; }</div>
324
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00461">461</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
325
+ <div class="fragment"><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; {</div>
326
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-&gt;getId(), node);</div>
327
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++;</div>
328
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; }</div>
337
329
  </div><!-- fragment -->
338
330
  </div>
339
331
  </div>
@@ -363,10 +355,10 @@ Additional Inherited Members</h2></td></tr>
363
355
 
364
356
  <p>Dump graph into dot file. </p>
365
357
 
366
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00366">366</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
367
- <div class="fragment"><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; {</div>
368
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>(), filename, <span class="keyword">this</span>);</div>
369
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
358
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00362">362</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
359
+ <div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; {</div>
360
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>(), filename, <span class="keyword">this</span>);</div>
361
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
370
362
  </div><!-- fragment -->
371
363
  </div>
372
364
  </div>
@@ -396,19 +388,19 @@ Additional Inherited Members</h2></td></tr>
396
388
  </table>
397
389
  </div><div class="memdoc">
398
390
 
399
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00080">80</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
400
- <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div>
401
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; std::vector&lt;CFBasicBlockEdge*&gt; edges;</div>
402
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
403
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
404
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
405
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId())</div>
406
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
407
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; edges.push_back(*iter);</div>
408
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
409
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
410
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(edges);</div>
411
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div>
391
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00065">65</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
392
+ <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
393
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; std::vector&lt;CFBasicBlockEdge*&gt; edges;</div>
394
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
395
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
396
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div>
397
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId())</div>
398
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
399
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; edges.push_back(*iter);</div>
400
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
401
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
402
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVFUtil::move</a>(edges);</div>
403
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
412
404
  </div><!-- fragment -->
413
405
  </div>
414
406
  </div>
@@ -444,22 +436,22 @@ Additional Inherited Members</h2></td></tr>
444
436
  </table>
445
437
  </div><div class="memdoc">
446
438
 
447
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00063">63</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
448
- <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
449
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; CFBasicBlockEdge *edge = <span class="keyword">nullptr</span>;</div>
450
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">size_t</span> counter = 0;</div>
451
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
452
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
453
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
454
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId() &amp;&amp; (*iter)-&gt;getICFGEdge() == icfgEdge)</div>
455
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
456
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; counter++;</div>
457
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; edge = (*iter);</div>
458
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
459
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
460
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two nodes&quot;</span>);</div>
461
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> edge;</div>
462
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
439
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8cpp_source.html#l00048">48</a> of file <a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a>.</p>
440
+ <div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div>
441
+ <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; CFBasicBlockEdge *edge = <span class="keyword">nullptr</span>;</div>
442
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">size_t</span> counter = 0;</div>
443
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = src-&gt;OutEdgeBegin();</div>
444
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; iter != src-&gt;OutEdgeEnd(); ++iter)</div>
445
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
446
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;getId() &amp;&amp; (*iter)-&gt;getICFGEdge() == icfgEdge)</div>
447
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
448
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; counter++;</div>
449
+ <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; edge = (*iter);</div>
450
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
451
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
452
+ <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two nodes&quot;</span>);</div>
453
+ <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> edge;</div>
454
+ <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
463
455
  </div><!-- fragment -->
464
456
  </div>
465
457
  </div>
@@ -487,49 +479,11 @@ Additional Inherited Members</h2></td></tr>
487
479
  </table>
488
480
  </div><div class="memdoc">
489
481
 
490
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00371">371</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
491
- <div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
492
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>)) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
493
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
494
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
495
- </div><!-- fragment -->
496
- </div>
497
- </div>
498
- <a id="a39f1a9c9938ebec94ef050e3770620e6"></a>
499
- <h2 class="memtitle"><span class="permalink"><a href="#a39f1a9c9938ebec94ef050e3770620e6">&#9670;&nbsp;</a></span>getFirstCFBasicBlockNode()</h2>
500
-
501
- <div class="memitem">
502
- <div class="memproto">
503
- <table class="mlabels">
504
- <tr>
505
- <td class="mlabels-left">
506
- <table class="memname">
507
- <tr>
508
- <td class="memname"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* SVF::CFBasicBlockGraph::getFirstCFBasicBlockNode </td>
509
- <td>(</td>
510
- <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
511
- <td class="paramname"><em>fun</em></td><td>)</td>
512
- <td> const</td>
513
- </tr>
514
- </table>
515
- </td>
516
- <td class="mlabels-right">
517
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
518
- </tr>
519
- </table>
520
- </div><div class="memdoc">
521
-
522
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00382">382</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
523
- <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; {</div>
524
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span> (fun &amp;&amp; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a>.find(fun) != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a>.end())</div>
525
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
526
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a>.at(fun);</div>
527
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
528
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">else</span></div>
529
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div>
530
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
531
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
532
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div>
482
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00367">367</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
483
+ <div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
484
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>)) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
485
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
486
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
533
487
  </div><!-- fragment -->
534
488
  </div>
535
489
  </div>
@@ -567,15 +521,15 @@ Additional Inherited Members</h2></td></tr>
567
521
  </table>
568
522
  </div><div class="memdoc">
569
523
 
570
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00418">418</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
571
- <div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; {</div>
572
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;e: src-&gt;getOutEdges())</div>
573
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; {</div>
574
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; <span class="keywordflow">if</span> (e-&gt;getDstNode() == dst)</div>
575
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
576
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; }</div>
577
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
578
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div>
524
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00393">393</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
525
+ <div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div>
526
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;e: src-&gt;getOutEdges())</div>
527
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; {</div>
528
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span> (e-&gt;getDstNode() == dst)</div>
529
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
530
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div>
531
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
532
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div>
579
533
  </div><!-- fragment -->
580
534
  </div>
581
535
  </div>
@@ -619,19 +573,19 @@ Additional Inherited Members</h2></td></tr>
619
573
  </table>
620
574
  </div><div class="memdoc">
621
575
 
622
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00404">404</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
623
- <div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div>
624
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; CFBasicBlockEdge edge(src, dst, icfgEdge);</div>
625
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; CFBasicBlockEdge *outEdge = src-&gt;hasOutgoingEdge(&amp;edge);</div>
626
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; CFBasicBlockEdge *inEdge = dst-&gt;hasIncomingEdge(&amp;edge);</div>
627
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
628
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; {</div>
629
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
630
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
631
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
632
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">else</span></div>
633
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
634
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
576
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00379">379</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
577
+ <div class="fragment"><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
578
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; CFBasicBlockEdge edge(src, dst, icfgEdge);</div>
579
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; CFBasicBlockEdge *outEdge = src-&gt;hasOutgoingEdge(&amp;edge);</div>
580
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; CFBasicBlockEdge *inEdge = dst-&gt;hasIncomingEdge(&amp;edge);</div>
581
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
582
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
583
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
584
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
585
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; }</div>
586
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">else</span></div>
587
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
588
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
635
589
  </div><!-- fragment -->
636
590
  </div>
637
591
  </div>
@@ -659,41 +613,10 @@ Additional Inherited Members</h2></td></tr>
659
613
  </table>
660
614
  </div><div class="memdoc">
661
615
 
662
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00377">377</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
663
- <div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div>
664
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div>
665
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div>
666
- </div><!-- fragment -->
667
- </div>
668
- </div>
669
- <a id="a76632f02601c6a628058744f736a4352"></a>
670
- <h2 class="memtitle"><span class="permalink"><a href="#a76632f02601c6a628058744f736a4352">&#9670;&nbsp;</a></span>hasFirstCFBasicBlockNode()</h2>
671
-
672
- <div class="memitem">
673
- <div class="memproto">
674
- <table class="mlabels">
675
- <tr>
676
- <td class="mlabels-left">
677
- <table class="memname">
678
- <tr>
679
- <td class="memname">bool SVF::CFBasicBlockGraph::hasFirstCFBasicBlockNode </td>
680
- <td>(</td>
681
- <td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *&#160;</td>
682
- <td class="paramname"><em>fun</em></td><td>)</td>
683
- <td> const</td>
684
- </tr>
685
- </table>
686
- </td>
687
- <td class="mlabels-right">
688
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
689
- </tr>
690
- </table>
691
- </div><div class="memdoc">
692
-
693
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00393">393</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
694
- <div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div>
695
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a>.find(fun) != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a>.end();</div>
696
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
616
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00373">373</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
617
+ <div class="fragment"><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div>
618
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div>
619
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div>
697
620
  </div><!-- fragment -->
698
621
  </div>
699
622
  </div>
@@ -723,19 +646,19 @@ Additional Inherited Members</h2></td></tr>
723
646
 
724
647
  <p>Remove a ICFGEdgeWrapper. </p>
725
648
 
726
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00433">433</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
727
- <div class="fragment"><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; {</div>
728
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getDstNode()-&gt;hasIncomingEdge(edge))</div>
729
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div>
730
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; edge-&gt;getDstNode()-&gt;removeIncomingEdge(edge);</div>
731
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div>
732
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getSrcNode()-&gt;hasOutgoingEdge(edge))</div>
733
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div>
734
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; edge-&gt;getSrcNode()-&gt;removeOutgoingEdge(edge);</div>
735
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
736
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keyword">delete</span> edge;</div>
737
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>--;</div>
738
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; }</div>
649
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00408">408</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
650
+ <div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div>
651
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getDstNode()-&gt;hasIncomingEdge(edge))</div>
652
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div>
653
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; edge-&gt;getDstNode()-&gt;removeIncomingEdge(edge);</div>
654
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
655
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keywordflow">if</span> (edge-&gt;getSrcNode()-&gt;hasOutgoingEdge(edge))</div>
656
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; {</div>
657
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; edge-&gt;getSrcNode()-&gt;removeOutgoingEdge(edge);</div>
658
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
659
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">delete</span> edge;</div>
660
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>--;</div>
661
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div>
739
662
  </div><!-- fragment -->
740
663
  </div>
741
664
  </div>
@@ -765,20 +688,20 @@ Additional Inherited Members</h2></td></tr>
765
688
 
766
689
  <p>Remove a ICFGNodeWrapper. </p>
767
690
 
768
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00448">448</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
769
- <div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; {</div>
770
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; std::set&lt;CFBasicBlockEdge *&gt; temp;</div>
771
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getInEdges())</div>
772
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; temp.insert(e);</div>
773
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getOutEdges())</div>
774
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; temp.insert(e);</div>
775
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: temp)</div>
776
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; {</div>
777
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a>(e);</div>
778
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; }</div>
779
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(node);</div>
780
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>--;</div>
781
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div>
691
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00423">423</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
692
+ <div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div>
693
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; std::set&lt;CFBasicBlockEdge *&gt; temp;</div>
694
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getInEdges())</div>
695
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; temp.insert(e);</div>
696
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: node-&gt;getOutEdges())</div>
697
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; temp.insert(e);</div>
698
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">for</span> (CFBasicBlockEdge *e: temp)</div>
699
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
700
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">removeCFBBEdge</a>(e);</div>
701
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; }</div>
702
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(node);</div>
703
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>--;</div>
704
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div>
782
705
  </div><!-- fragment -->
783
706
  </div>
784
707
  </div>
@@ -808,46 +731,15 @@ Additional Inherited Members</h2></td></tr>
808
731
 
809
732
  <p>Remove node from nodeID. </p>
810
733
 
811
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00465">465</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
812
- <div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div>
813
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>))</div>
814
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
815
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>));</div>
816
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
817
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div>
818
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
819
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div>
820
- </div><!-- fragment -->
821
- </div>
822
- </div>
823
- <a id="a0fb246e9cdbc7fcdc69d9049ed61d8ad"></a>
824
- <h2 class="memtitle"><span class="permalink"><a href="#a0fb246e9cdbc7fcdc69d9049ed61d8ad">&#9670;&nbsp;</a></span>setFirstCFBasicBlockNode()</h2>
825
-
826
- <div class="memitem">
827
- <div class="memproto">
828
- <table class="mlabels">
829
- <tr>
830
- <td class="mlabels-left">
831
- <table class="memname">
832
- <tr>
833
- <td class="memname">void SVF::CFBasicBlockGraph::setFirstCFBasicBlockNode </td>
834
- <td>(</td>
835
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> * &gt; &amp;&#160;</td>
836
- <td class="paramname"><em>svfNodeMap</em></td><td>)</td>
837
- <td></td>
838
- </tr>
839
- </table>
840
- </td>
841
- <td class="mlabels-right">
842
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
843
- </tr>
844
- </table>
845
- </div><div class="memdoc">
846
-
847
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00398">398</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
848
- <div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; {</div>
849
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">_funToFirstNode</a> = svfNodeMap;</div>
850
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div>
734
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00440">440</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
735
+ <div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; {</div>
736
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>))</div>
737
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; {</div>
738
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">removeCFBBNode</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>));</div>
739
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
740
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; }</div>
741
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
742
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; }</div>
851
743
  </div><!-- fragment -->
852
744
  </div>
853
745
  </div>
@@ -872,35 +764,11 @@ Additional Inherited Members</h2></td></tr>
872
764
  </table>
873
765
  </div><div class="memdoc">
874
766
 
875
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00354">354</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
767
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00351">351</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
876
768
 
877
769
  </div>
878
770
  </div>
879
771
  <h2 class="groupheader">Member Data Documentation</h2>
880
- <a id="a22c1d5a9da2acd9c3ad8bb5f72cfbfc8"></a>
881
- <h2 class="memtitle"><span class="permalink"><a href="#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">&#9670;&nbsp;</a></span>_funToFirstNode</h2>
882
-
883
- <div class="memitem">
884
- <div class="memproto">
885
- <table class="mlabels">
886
- <tr>
887
- <td class="mlabels-left">
888
- <table class="memname">
889
- <tr>
890
- <td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>*&gt; SVF::CFBasicBlockGraph::_funToFirstNode</td>
891
- </tr>
892
- </table>
893
- </td>
894
- <td class="mlabels-right">
895
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
896
- </tr>
897
- </table>
898
- </div><div class="memdoc">
899
-
900
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00358">358</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
901
-
902
- </div>
903
- </div>
904
772
  <a id="a307a47681c72267f6e90d7009d1b3c6b"></a>
905
773
  <h2 class="memtitle"><span class="permalink"><a href="#a307a47681c72267f6e90d7009d1b3c6b">&#9670;&nbsp;</a></span>_totalCFBasicBlockEdge</h2>
906
774
 
@@ -921,7 +789,7 @@ Additional Inherited Members</h2></td></tr>
921
789
  </table>
922
790
  </div><div class="memdoc">
923
791
 
924
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00357">357</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
792
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00354">354</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
925
793
 
926
794
  </div>
927
795
  </div>
@@ -945,7 +813,7 @@ Additional Inherited Members</h2></td></tr>
945
813
  </table>
946
814
  </div><div class="memdoc">
947
815
 
948
- <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00356">356</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
816
+ <p class="definition">Definition at line <a class="el" href="CFBasicBlockG_8h_source.html#l00353">353</a> of file <a class="el" href="CFBasicBlockG_8h_source.html">CFBasicBlockG.h</a>.</p>
949
817
 
950
818
  </div>
951
819
  </div>
@@ -954,18 +822,17 @@ Additional Inherited Members</h2></td></tr>
954
822
  <li>/home/runner/work/SVF/SVF/svf/lib/Graphs/<a class="el" href="CFBasicBlockG_8cpp_source.html">CFBasicBlockG.cpp</a></li>
955
823
  </ul>
956
824
  </div><!-- contents -->
957
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9d7ebedc25848db79b551cb8a1ef11af"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">SVF::CFBasicBlockGraph::removeCFBBEdge</a></div><div class="ttdeci">void removeCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Remove a ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00433">CFBasicBlockG.h:433</a></div></div>
958
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00356">CFBasicBlockG.h:356</a></div></div>
825
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9d7ebedc25848db79b551cb8a1ef11af"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9d7ebedc25848db79b551cb8a1ef11af">SVF::CFBasicBlockGraph::removeCFBBEdge</a></div><div class="ttdeci">void removeCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Remove a ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00408">CFBasicBlockG.h:408</a></div></div>
826
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_af26009309b28b1d9f3f31f802307f6e9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">SVF::CFBasicBlockGraph::_totalCFBasicBlockNode</a></div><div class="ttdeci">u32_t _totalCFBasicBlockNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00353">CFBasicBlockG.h:353</a></div></div>
959
827
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
960
828
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
961
829
  <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>
962
830
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
963
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a22c1d5a9da2acd9c3ad8bb5f72cfbfc8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a22c1d5a9da2acd9c3ad8bb5f72cfbfc8">SVF::CFBasicBlockGraph::_funToFirstNode</a></div><div class="ttdeci">Map&lt; const SVFFunction *, CFBasicBlockNode * &gt; _funToFirstNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00358">CFBasicBlockG.h:358</a></div></div>
964
831
  <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>
965
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00357">CFBasicBlockG.h:357</a></div></div>
832
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a307a47681c72267f6e90d7009d1b3c6b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">SVF::CFBasicBlockGraph::_totalCFBasicBlockEdge</a></div><div class="ttdeci">u32_t _totalCFBasicBlockEdge</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00354">CFBasicBlockG.h:354</a></div></div>
966
833
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
967
834
  <div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
968
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a0ed78b8098e84845a500979d52bb8d18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">void removeCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Remove a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00448">CFBasicBlockG.h:448</a></div></div>
835
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a0ed78b8098e84845a500979d52bb8d18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a0ed78b8098e84845a500979d52bb8d18">SVF::CFBasicBlockGraph::removeCFBBNode</a></div><div class="ttdeci">void removeCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Remove a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00423">CFBasicBlockG.h:423</a></div></div>
969
836
  <!-- start footer part -->
970
837
  <hr class="footer"/><address class="footer"><small>
971
838
  Generated by &#160;<a href="http://www.doxygen.org/index.html">