svf-tools 1.0.782 → 1.0.783

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 (300) hide show
  1. package/SVF-doxygen/html/html/CDG_8h.html +2 -2
  2. package/SVF-doxygen/html/html/CDG_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +152 -90
  4. package/SVF-doxygen/html/html/CFBasicBlockG_8h.html +3 -1
  5. package/SVF-doxygen/html/html/CFBasicBlockG_8h_source.html +601 -260
  6. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +4 -4
  7. package/SVF-doxygen/html/html/WTO_8h_source.html +6 -6
  8. package/SVF-doxygen/html/html/annotated.html +325 -333
  9. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge-members.html +19 -12
  10. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockEdge.html +219 -30
  11. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -3
  12. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGBuilder.html +147 -39
  13. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  14. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -28
  16. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGraph.html +382 -184
  17. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode-members.html +51 -41
  18. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +1244 -159
  19. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +34 -34
  20. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +65 -25
  21. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +4 -5
  22. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  23. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +3 -4
  24. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.png +0 -0
  25. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +10 -10
  26. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  27. package/SVF-doxygen/html/html/classes.html +266 -276
  28. package/SVF-doxygen/html/html/dir_a10fe8a299b5f0831d187a9a2e1308ef.html +0 -2
  29. package/SVF-doxygen/html/html/dir_fc0329f850c815763e0c5b05933e8d55.html +0 -2
  30. package/SVF-doxygen/html/html/files.html +19 -21
  31. package/SVF-doxygen/html/html/functions.html +2 -33
  32. package/SVF-doxygen/html/html/functions_a.html +14 -16
  33. package/SVF-doxygen/html/html/functions_b.html +8 -9
  34. package/SVF-doxygen/html/html/functions_c.html +34 -31
  35. package/SVF-doxygen/html/html/functions_d.html +11 -13
  36. package/SVF-doxygen/html/html/functions_e.html +1 -1
  37. package/SVF-doxygen/html/html/functions_func.html +16 -18
  38. package/SVF-doxygen/html/html/functions_func_b.html +2 -3
  39. package/SVF-doxygen/html/html/functions_func_c.html +31 -31
  40. package/SVF-doxygen/html/html/functions_func_d.html +10 -12
  41. package/SVF-doxygen/html/html/functions_func_g.html +22 -59
  42. package/SVF-doxygen/html/html/functions_func_h.html +9 -12
  43. package/SVF-doxygen/html/html/functions_func_i.html +13 -26
  44. package/SVF-doxygen/html/html/functions_func_o.html +9 -9
  45. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  46. package/SVF-doxygen/html/html/functions_func_r.html +15 -15
  47. package/SVF-doxygen/html/html/functions_func_s.html +19 -28
  48. package/SVF-doxygen/html/html/functions_func_t.html +0 -2
  49. package/SVF-doxygen/html/html/functions_func_v.html +2 -3
  50. package/SVF-doxygen/html/html/functions_func_~.html +0 -12
  51. package/SVF-doxygen/html/html/functions_g.html +23 -60
  52. package/SVF-doxygen/html/html/functions_h.html +9 -12
  53. package/SVF-doxygen/html/html/functions_i.html +16 -44
  54. package/SVF-doxygen/html/html/functions_n.html +6 -8
  55. package/SVF-doxygen/html/html/functions_o.html +23 -27
  56. package/SVF-doxygen/html/html/functions_p.html +8 -12
  57. package/SVF-doxygen/html/html/functions_r.html +17 -17
  58. package/SVF-doxygen/html/html/functions_s.html +15 -32
  59. package/SVF-doxygen/html/html/functions_t.html +5 -7
  60. package/SVF-doxygen/html/html/functions_type_c.html +6 -3
  61. package/SVF-doxygen/html/html/functions_type_e.html +1 -1
  62. package/SVF-doxygen/html/html/functions_type_i.html +3 -18
  63. package/SVF-doxygen/html/html/functions_type_n.html +0 -2
  64. package/SVF-doxygen/html/html/functions_type_s.html +0 -6
  65. package/SVF-doxygen/html/html/functions_v.html +4 -5
  66. package/SVF-doxygen/html/html/functions_vars.html +2 -33
  67. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  68. package/SVF-doxygen/html/html/functions_vars_o.html +2 -2
  69. package/SVF-doxygen/html/html/functions_w.html +8 -8
  70. package/SVF-doxygen/html/html/functions_~.html +0 -12
  71. package/SVF-doxygen/html/html/hierarchy.html +458 -469
  72. package/SVF-doxygen/html/html/namespaceSVF.html +7 -78
  73. package/SVF-doxygen/html/html/namespacemembers_g.html +3 -12
  74. package/SVF-doxygen/html/html/namespacemembers_n.html +1 -1
  75. package/SVF-doxygen/html/html/namespacemembers_type_g.html +0 -9
  76. package/SVF-doxygen/html/html/namespacemembers_type_n.html +1 -1
  77. package/SVF-doxygen/html/html/search/all_0.js +137 -147
  78. package/SVF-doxygen/html/html/search/all_1.js +484 -485
  79. package/SVF-doxygen/html/html/search/all_10.js +324 -324
  80. package/SVF-doxygen/html/html/search/all_11.js +224 -224
  81. package/SVF-doxygen/html/html/search/all_12.js +541 -546
  82. package/SVF-doxygen/html/html/search/all_13.js +190 -190
  83. package/SVF-doxygen/html/html/search/all_14.js +67 -67
  84. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  85. package/SVF-doxygen/html/html/search/all_16.js +63 -63
  86. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  87. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_19.js +11 -11
  89. package/SVF-doxygen/html/html/search/all_1a.js +172 -176
  90. package/SVF-doxygen/html/html/search/all_2.js +167 -167
  91. package/SVF-doxygen/html/html/search/all_3.js +640 -639
  92. package/SVF-doxygen/html/html/search/all_4.js +233 -234
  93. package/SVF-doxygen/html/html/search/all_5.js +121 -120
  94. package/SVF-doxygen/html/html/search/all_6.js +225 -225
  95. package/SVF-doxygen/html/html/search/all_7.js +1037 -1056
  96. package/SVF-doxygen/html/html/search/all_8.js +194 -195
  97. package/SVF-doxygen/html/html/search/all_9.js +607 -617
  98. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  99. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  100. package/SVF-doxygen/html/html/search/all_c.js +116 -116
  101. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  102. package/SVF-doxygen/html/html/search/all_e.js +207 -207
  103. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  104. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  105. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  106. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  107. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  108. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  109. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  110. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  111. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  112. package/SVF-doxygen/html/html/search/classes_2.js +80 -80
  113. package/SVF-doxygen/html/html/search/classes_3.js +37 -38
  114. package/SVF-doxygen/html/html/search/classes_4.js +9 -9
  115. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  116. package/SVF-doxygen/html/html/search/classes_6.js +104 -110
  117. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  118. package/SVF-doxygen/html/html/search/classes_8.js +56 -60
  119. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  120. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  121. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  122. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  123. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  124. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  125. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  126. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  127. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  128. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  129. package/SVF-doxygen/html/html/search/defines_3.js +21 -21
  130. package/SVF-doxygen/html/html/search/defines_4.js +2 -2
  131. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  132. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  133. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  134. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  135. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  136. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  137. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  138. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  139. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  140. package/SVF-doxygen/html/html/search/defines_e.js +7 -7
  141. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  142. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  143. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  144. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  145. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  146. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  147. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  148. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  149. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  150. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  151. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  152. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  153. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  154. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  155. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  156. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  157. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  158. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  159. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  160. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  161. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  162. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  163. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  164. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  165. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  166. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  167. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  168. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  169. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  170. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  171. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  172. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  173. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  174. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  175. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  176. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  177. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  178. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  179. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  180. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  181. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  182. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  183. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  184. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  185. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  186. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  187. package/SVF-doxygen/html/html/search/files_2.js +53 -53
  188. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  189. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  190. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  191. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  192. package/SVF-doxygen/html/html/search/files_7.js +14 -16
  193. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  194. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  195. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  196. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  197. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  198. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  199. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  200. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  201. package/SVF-doxygen/html/html/search/functions_0.js +12 -12
  202. package/SVF-doxygen/html/html/search/functions_1.js +356 -357
  203. package/SVF-doxygen/html/html/search/functions_10.js +140 -140
  204. package/SVF-doxygen/html/html/search/functions_11.js +138 -138
  205. package/SVF-doxygen/html/html/search/functions_12.js +276 -279
  206. package/SVF-doxygen/html/html/search/functions_13.js +58 -58
  207. package/SVF-doxygen/html/html/search/functions_14.js +39 -39
  208. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  209. package/SVF-doxygen/html/html/search/functions_16.js +32 -32
  210. package/SVF-doxygen/html/html/search/functions_17.js +3 -3
  211. package/SVF-doxygen/html/html/search/functions_18.js +172 -176
  212. package/SVF-doxygen/html/html/search/functions_2.js +86 -86
  213. package/SVF-doxygen/html/html/search/functions_3.js +257 -257
  214. package/SVF-doxygen/html/html/search/functions_4.js +75 -75
  215. package/SVF-doxygen/html/html/search/functions_5.js +53 -53
  216. package/SVF-doxygen/html/html/search/functions_6.js +59 -59
  217. package/SVF-doxygen/html/html/search/functions_7.js +848 -858
  218. package/SVF-doxygen/html/html/search/functions_8.js +146 -147
  219. package/SVF-doxygen/html/html/search/functions_9.js +425 -429
  220. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  221. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  222. package/SVF-doxygen/html/html/search/functions_c.js +26 -26
  223. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  224. package/SVF-doxygen/html/html/search/functions_e.js +35 -35
  225. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  226. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  227. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  228. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  229. package/SVF-doxygen/html/html/search/related_1.js +2 -2
  230. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  231. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  232. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  233. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  234. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  235. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  236. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  237. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  238. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  239. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  240. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  241. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  242. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  243. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  244. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  245. package/SVF-doxygen/html/html/search/typedefs_1.js +26 -26
  246. package/SVF-doxygen/html/html/search/typedefs_10.js +61 -63
  247. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  248. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  249. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  250. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  251. package/SVF-doxygen/html/html/search/typedefs_2.js +129 -128
  252. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  253. package/SVF-doxygen/html/html/search/typedefs_4.js +17 -17
  254. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  255. package/SVF-doxygen/html/html/search/typedefs_6.js +55 -58
  256. package/SVF-doxygen/html/html/search/typedefs_7.js +42 -46
  257. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  258. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  259. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  260. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  261. package/SVF-doxygen/html/html/search/typedefs_c.js +41 -41
  262. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  263. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  264. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  265. package/SVF-doxygen/html/html/search/variables_0.js +152 -162
  266. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  267. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  268. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  269. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  270. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  271. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  272. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  273. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  274. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  275. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  276. package/SVF-doxygen/html/html/search/variables_2.js +37 -37
  277. package/SVF-doxygen/html/html/search/variables_3.js +142 -142
  278. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  279. package/SVF-doxygen/html/html/search/variables_5.js +39 -39
  280. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  281. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  282. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  283. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  284. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  285. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  286. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  287. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  288. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  289. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  290. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge-members.html +84 -0
  291. package/SVF-doxygen/html/html/structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html +144 -0
  292. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +40 -40
  293. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  294. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  295. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  296. package/package.json +1 -1
  297. package/svf/include/Graphs/CFBasicBlockG.h +342 -32
  298. package/svf/lib/Graphs/CFBasicBlockG.cpp +97 -36
  299. package/svf/include/Graphs/ICFGWrapper.h +0 -728
  300. package/svf/lib/Graphs/ICFGWrapper.cpp +0 -97
@@ -107,8 +107,8 @@ Typedefs</h2></td></tr>
107
107
  <tr class="separator:ac13168bad29c3ba7cbe680c6fb85d742"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
108
  <tr class="memitem:ae41489de1152165bc440ec1068d3a48f"><td class="memItemLeft" align="right" valign="top">typedef GenericNode&lt; CDGNode, CDGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#ae41489de1152165bc440ec1068d3a48f">SVF::GenericCDGNodeTy</a></td></tr>
109
109
  <tr class="separator:ae41489de1152165bc440ec1068d3a48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
- <tr class="memitem:a73161037366c0405d723c4988d0214b7"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::pair&lt; NodeID, NodeID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a73161037366c0405d723c4988d0214b7">SVF::NodePairVector</a></td></tr>
111
- <tr class="separator:a73161037366c0405d723c4988d0214b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ <tr class="memitem:a155a24a807325a27dac8ea26c55f9670"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; std::pair&lt; NodeID, NodeID &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a155a24a807325a27dac8ea26c55f9670">SVF::NodePairVector</a></td></tr>
111
+ <tr class="separator:a155a24a807325a27dac8ea26c55f9670"><td class="memSeparator" colspan="2">&#160;</td></tr>
112
112
  <tr class="memitem:a241b612013239a0baaa049eac5165c7f"><td class="memItemLeft" align="right" valign="top">typedef GenericGraph&lt; CDGNode, CDGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a241b612013239a0baaa049eac5165c7f">SVF::GenericCDGTy</a></td></tr>
113
113
  <tr class="separator:a241b612013239a0baaa049eac5165c7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
114
114
  </table>
@@ -185,7 +185,7 @@ $(function() {
185
185
  <div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1CDGNode.html#a57d10ca10f4f5ac763f80515781b44ba"> 119</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *<a class="code" href="classSVF_1_1CDGNode.html#a57d10ca10f4f5ac763f80515781b44ba">_icfgNode</a>;</div>
186
186
  <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;};</div>
187
187
  <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
188
- <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a73161037366c0405d723c4988d0214b7"> 122</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;std::pair&lt;NodeID, NodeID&gt;&gt; <a class="code" href="namespaceSVF.html#a73161037366c0405d723c4988d0214b7">NodePairVector</a>;</div>
188
+ <div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a155a24a807325a27dac8ea26c55f9670"> 122</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;std::pair&lt;NodeID, NodeID&gt;&gt; <a class="code" href="namespaceSVF.html#a155a24a807325a27dac8ea26c55f9670">NodePairVector</a>;</div>
189
189
  <div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a241b612013239a0baaa049eac5165c7f"> 123</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;CDGNode, CDGEdge&gt;</a> <a class="code" href="namespaceSVF.html#a241b612013239a0baaa049eac5165c7f">GenericCDGTy</a>;</div>
190
190
  <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; </div>
191
191
  <div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1CDG.html"> 125</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CDG.html">CDG</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1GenericGraph.html">GenericCDGTy</a></div>
@@ -567,7 +567,6 @@ $(function() {
567
567
  <div class="ttc" id="aSVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
568
568
  <div class="ttc" id="aclassSVF_1_1CDGEdge_html_ae9624672c9dc368f8ae2a091ca7523c5"><div class="ttname"><a href="classSVF_1_1CDGEdge.html#ae9624672c9dc368f8ae2a091ca7523c5">SVF::CDGEdge::insertBranchCondition</a></div><div class="ttdeci">void insertBranchCondition(const SVFValue *pNode, s32_t branchID)</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00076">CDG.h:76</a></div></div>
569
569
  <div class="ttc" id="astructSVF_1_1DOTGraphTraits_html"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits.html">SVF::DOTGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="DOTGraphTraits_8h_source.html#l00181">DOTGraphTraits.h:181</a></div></div>
570
- <div class="ttc" id="anamespaceSVF_html_a73161037366c0405d723c4988d0214b7"><div class="ttname"><a href="namespaceSVF.html#a73161037366c0405d723c4988d0214b7">SVF::NodePairVector</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; NodeID, NodeID &gt; &gt; NodePairVector</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00122">CDG.h:122</a></div></div>
571
570
  <div class="ttc" id="astructSVF_1_1Inverse_html"><div class="ttname"><a href="structSVF_1_1Inverse.html">SVF::Inverse</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00097">GraphTraits.h:97</a></div></div>
572
571
  <div class="ttc" id="aclassSVF_1_1CDGEdge_html_a62f0f460e501cd3b39e85b4186d33c45"><div class="ttname"><a href="classSVF_1_1CDGEdge.html#a62f0f460e501cd3b39e85b4186d33c45">SVF::CDGEdge::BranchCondition</a></div><div class="ttdeci">std::pair&lt; const SVFValue *, s32_t &gt; BranchCondition</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00045">CDG.h:45</a></div></div>
573
572
  <div class="ttc" id="aclassSVF_1_1GenericEdge_html"><div class="ttname"><a href="classSVF_1_1GenericEdge.html">SVF::GenericEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00049">GenericGraph.h:49</a></div></div>
@@ -576,6 +575,7 @@ $(function() {
576
575
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
577
576
  <div class="ttc" id="aclassSVF_1_1CDGNode_html_a5d230e1bd20951869df6453a1a929022"><div class="ttname"><a href="classSVF_1_1CDGNode.html#a5d230e1bd20951869df6453a1a929022">SVF::CDGNode::getICFGNode</a></div><div class="ttdeci">const ICFGNode * getICFGNode() const</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00112">CDG.h:112</a></div></div>
578
577
  <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>
578
+ <div class="ttc" id="anamespaceSVF_html_a155a24a807325a27dac8ea26c55f9670"><div class="ttname"><a href="namespaceSVF.html#a155a24a807325a27dac8ea26c55f9670">SVF::NodePairVector</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; NodeID, NodeID &gt; &gt; NodePairVector</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00122">CDG.h:122</a></div></div>
579
579
  <div class="ttc" id="aclassSVF_1_1CDGEdge_html_aedf54ed1ce3b77c3565390ddc52bd438"><div class="ttname"><a href="classSVF_1_1CDGEdge.html#aedf54ed1ce3b77c3565390ddc52bd438">SVF::CDGEdge::getBranchConditions</a></div><div class="ttdeci">const Set&lt; BranchCondition &gt; &amp; getBranchConditions() const</div><div class="ttdoc">get/set branch condition</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00071">CDG.h:71</a></div></div>
580
580
  <div class="ttc" id="aclassSVF_1_1CDG_html_a37a615eda0e530f2c784e0dfc5936723"><div class="ttname"><a href="classSVF_1_1CDG.html#a37a615eda0e530f2c784e0dfc5936723">SVF::CDG::view</a></div><div class="ttdeci">void view()</div><div class="ttdoc">View graph from the debugger.</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00217">CDG.h:217</a></div></div>
581
581
  <div class="ttc" id="astructSVF_1_1DOTGraphTraits_3_01SVF_1_1CDG_01_5_01_4_html_a3ea6e02395874966b0f4944104388ddb"><div class="ttname"><a href="structSVF_1_1DOTGraphTraits_3_01SVF_1_1CDG_01_5_01_4.html#a3ea6e02395874966b0f4944104388ddb">SVF::DOTGraphTraits&lt; SVF::CDG * &gt;::getGraphName</a></div><div class="ttdeci">static std::string getGraphName(SVF::CDG *)</div><div class="ttdoc">Return name of the graph.</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00334">CDG.h:334</a></div></div>
@@ -103,42 +103,42 @@ $(function() {
103
103
  <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
104
104
  <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
105
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_1CFBasicBlockNode.html#a23b45345db53640e342c28778d44c38e"> 35</a></span>&#160;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a23b45345db53640e342c28778d44c38e">CFBasicBlockNode::CFBasicBlockNode</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *svfBasicBlock) : <a class="code" href="classSVF_1_1GenericNode.html">GenericCFBasicBlockNodeTy</a>(id, 0),</div>
107
- <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; _svfBasicBlock(svfBasicBlock)</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; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = svfBasicBlock-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>(); it != svfBasicBlock-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>(); ++it)</div>
110
- <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; {</div>
111
- <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *ins = *it;</div>
112
- <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *icfgNode = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(ins);</div>
113
- <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.push_back(icfgNode);</div>
114
- <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; }</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; </div>
117
- <div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8"> 46</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">CFBasicBlockNode::toString</a>()<span class="keyword"> const</span></div>
118
- <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword"></span>{</div>
119
- <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> rawStr;</div>
120
- <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; std::stringstream stringstream(rawStr);</div>
121
- <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; stringstream &lt;&lt; <span class="stringliteral">&quot;Block Name: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">_svfBasicBlock</a>-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
122
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;icfgNode: <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>)</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; stringstream &lt;&lt; icfgNode-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</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">return</span> stringstream.str();</div>
127
- <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;}</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"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#abd9f0f5e3f50112af2e46342328aabf5"> 58</a></span>&#160;<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">CFBasicBlockGraph::getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *dst)</div>
130
- <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;{</div>
131
- <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">getCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(src), <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(dst));</div>
106
+ <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#ac5a07bfd7ac54249100317760c94331d"> 35</a></span>&#160;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a34ef44c3ffad24255a72c8ecf2f2919e">CFBasicBlockNode::CFBasicBlockNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfBasicBlock)</div>
107
+ <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; : <a class="code" href="classSVF_1_1GenericNode.html">GenericCFBasicBlockNodeTy</a>(</div>
108
+ <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">PAG</a>::getPAG()</div>
109
+ <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; -&gt;getICFG()</div>
110
+ <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; -&gt;getICFGNode(*svfBasicBlock-&gt;getInstructionList().begin())</div>
111
+ <div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; -&gt;getId(),</div>
112
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; 0)</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; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = svfBasicBlock-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>(); it != svfBasicBlock-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>(); ++it)</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* ins = *it;</div>
117
+ <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* icfgNode = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(ins);</div>
118
+ <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>.push_back(icfgNode);</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;}</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"><a class="line" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8"> 51</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">CFBasicBlockNode::toString</a>()<span class="keyword"> const</span></div>
123
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword"></span>{</div>
124
+ <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> rawStr;</div>
125
+ <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; std::stringstream stringstream(rawStr);</div>
126
+ <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; stringstream &lt;&lt; <span class="stringliteral">&quot;Block Name: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a4ed32455eaafc3bd1a06ed9b417b329d">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
127
+ <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;icfgNode: <a class="code" href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">_icfgNodes</a>)</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; stringstream &lt;&lt; icfgNode-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
130
+ <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
131
+ <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> stringstream.str();</div>
132
132
  <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
133
133
  <div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
134
- <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9"> 63</a></span>&#160;<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">CFBasicBlockGraph::getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</div>
134
+ <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8"> 63</a></span>&#160;<a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">CFBasicBlockGraph::getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* icfgEdge)</div>
135
135
  <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
136
136
  <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge = <span class="keyword">nullptr</span>;</div>
137
137
  <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">size_t</span> counter = 0;</div>
138
- <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;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div>
139
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; iter != src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div>
138
+ <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;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a93c5de88097d130a8ba06c7254f96510">OutEdgeBegin</a>();</div>
139
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; iter != src-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a358586d95a6027da09b97a3c35128a35">OutEdgeEnd</a>(); ++iter)</div>
140
140
  <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div>
141
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
141
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &amp;&amp; (*iter)-&gt;getICFGEdge() == icfgEdge)</div>
142
142
  <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
143
143
  <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; counter++;</div>
144
144
  <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; edge = (*iter);</div>
@@ -148,83 +148,145 @@ $(function() {
148
148
  <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> edge;</div>
149
149
  <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
150
150
  <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
151
- <div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba"> 80</a></span>&#160;<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba">CFBasicBlockGraph::getOrAddCFBasicBlockNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb)</div>
151
+ <div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#afb226e06477a205891f80d21419485aa"> 80</a></span>&#160;std::vector&lt;CFBasicBlockEdge*&gt; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">CFBasicBlockGraph::getCFBasicBlockEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</div>
152
152
  <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div>
153
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.find(bb);</div>
154
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>.end()) <span class="keywordflow">return</span> it-&gt;second;</div>
155
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#af26009309b28b1d9f3f31f802307f6e9">_totalCFBasicBlockNode</a>++, bb);</div>
156
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">_bbToNode</a>[bb] = node;</div>
157
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), node);</div>
158
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> node;</div>
159
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;}</div>
160
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
161
- <div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGraph.html#a5083e0c8e1c26d3ca7104c8f6310a37f"> 90</a></span>&#160;<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>* <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5083e0c8e1c26d3ca7104c8f6310a37f">CFBasicBlockGraph::getOrAddCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *src, <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *dst)</div>
162
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div>
163
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge = <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">getCFBasicBlockEdge</a>(src, dst)) <span class="keywordflow">return</span> edge;</div>
164
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>(src, dst);</div>
165
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">bool</span> added1 = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;addIncomingEdge(edge);</div>
166
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span> added2 = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;addOutgoingEdge(edge);</div>
167
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; (void) added1;</div>
168
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; (void) added2;</div>
169
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; assert(added1 &amp;&amp; added2 &amp;&amp; <span class="stringliteral">&quot;edge not added??&quot;</span>);</div>
170
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a307a47681c72267f6e90d7009d1b3c6b">_totalCFBasicBlockEdge</a>++;</div>
171
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> edge;</div>
172
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;}</div>
173
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
174
- <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGBuilder.html#a99e4116e416962d1a2f3eb9b09d253b5"> 103</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a99e4116e416962d1a2f3eb9b09d253b5">CFBasicBlockGBuilder::build</a>()</div>
175
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div>
176
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;bb: *<a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">_svfFunction</a>)</div>
177
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
178
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba">getOrAddCFBasicBlockNode</a>(bb);</div>
179
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
180
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;bb: *<a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">_svfFunction</a>)</div>
181
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
182
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;succ: bb-&gt;getSuccessors())</div>
183
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
184
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a5083e0c8e1c26d3ca7104c8f6310a37f">getOrAddCFBasicBlockEdge</a>(<a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(bb),</div>
185
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(succ));</div>
186
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
187
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
188
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div>
189
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;}</div>
153
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; std::vector&lt;CFBasicBlockEdge*&gt; edges;</div>
154
+ <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;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a93c5de88097d130a8ba06c7254f96510">OutEdgeBegin</a>();</div>
155
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; iter != src-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a358586d95a6027da09b97a3c35128a35">OutEdgeEnd</a>(); ++iter)</div>
156
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
157
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
158
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
159
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; edges.push_back(*iter);</div>
160
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
161
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
162
+ <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>
163
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;}</div>
164
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
165
+ <div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGBuilder.html#a9c830d44805689071793420deff5af1a"> 94</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a9c830d44805689071793420deff5af1a">CFBasicBlockGBuilder::build</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module)</div>
166
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div>
167
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>();</div>
168
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*, CFBasicBlockNode*&gt;</a> bbToNode;</div>
169
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; func : *module)</div>
170
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
171
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; bb : *func)</div>
172
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
173
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* pNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>(bb);</div>
174
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; bbToNode[bb] = pNode;</div>
175
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">addCFBBNode</a>(pNode);</div>
176
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
177
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
178
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
179
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; func : *module)</div>
180
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
181
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; bb : *func)</div>
182
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div>
183
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;succ: bb-&gt;getSuccessors())</div>
184
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div>
185
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a> *icfg = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
186
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *pred = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(bb-&gt;getTerminator());</div>
187
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *edge = <span class="keyword">nullptr</span>;</div>
188
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;inst: succ-&gt;getInstructionList())</div>
189
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
190
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *e = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5dd4ac55123501c47c628adcf27e2475">getICFGEdge</a>(pred, icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst), ICFGEdge::ICFGEdgeK::IntraCF))</div>
191
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
192
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; edge = e;</div>
193
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">break</span>;</div>
194
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
195
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
196
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;IntraCFGEdge&gt;(edge))</div>
197
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
198
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *pEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>(bbToNode[bb], bbToNode[succ], edge);</div>
199
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">addCFBBEdge</a>(pEdge);</div>
200
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
201
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div>
202
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div>
203
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
204
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a> = bbToNode;</div>
205
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;}</div>
206
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
207
+ <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGBuilder.html#a25f0496187622b156bafc49f34fffeaf"> 136</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a9c830d44805689071793420deff5af1a">CFBasicBlockGBuilder::build</a>(<a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg)</div>
208
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;{</div>
209
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>();</div>
210
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*, CFBasicBlockNode*&gt;</a> bbToNode;</div>
211
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; node : *icfg)</div>
212
+ <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; {</div>
213
+ <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>* pNode = <span class="keyword">nullptr</span>;</div>
214
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = node.second-&gt;getBB())</div>
215
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; {</div>
216
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">if</span> (bbToNode.find(bb) == bbToNode.end())</div>
217
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
218
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; pNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a>({node.second});</div>
219
+ <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; bbToNode[node.second-&gt;getBB()] = pNode;</div>
220
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">addCFBBNode</a>(pNode);</div>
221
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
222
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">else</span></div>
223
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div>
224
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; pNode = bbToNode[node.second-&gt;getBB()];</div>
225
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; pNode-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a5374f4567cee38325f61940f4edbb142">addNode</a>(node.second);</div>
226
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
227
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div>
228
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div>
229
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
230
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>&amp; node : *icfg)</div>
231
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; {</div>
232
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;succ: node.second-&gt;getOutEdges())</div>
233
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; {</div>
234
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* node_fun = node.second-&gt;getFun();</div>
235
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* succ_fun = succ-&gt;getDstNode()-&gt;getFun();</div>
236
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* node_bb = node.second-&gt;getBB();</div>
237
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succ_bb = succ-&gt;getDstNode()-&gt;getBB();</div>
238
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">if</span> (node_fun == succ_fun)</div>
239
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
240
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (node_bb != succ_bb)</div>
241
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; {</div>
242
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a> *pEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockEdge.html">CFBasicBlockEdge</a>(bbToNode[node_bb], bbToNode[succ_bb], succ);</div>
243
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">addCFBBEdge</a>(pEdge);</div>
244
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div>
245
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
246
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div>
247
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
248
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">_bbToNode</a> = bbToNode;</div>
249
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;}</div>
250
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;}</div>
190
251
  </div><!-- fragment --></div><!-- contents -->
191
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
192
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a1bde348163056b87d5679b0bb91413a9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a1bde348163056b87d5679b0bb91413a9">SVF::CFBasicBlockGraph::getCFBasicBlockEdge</a></div><div class="ttdeci">CFBasicBlockEdge * getCFBasicBlockEdge(const CFBasicBlockNode *src, const CFBasicBlockNode *dst)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00063">CFBasicBlockG.cpp:63</a></div></div>
193
- <div class="ttc" id="aclassSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00097">GenericGraph.h:97</a></div></div>
252
+ <div class="ttc" id="aclassSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00044">ICFGEdge.h:44</a></div></div>
253
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_ab8b75e7bcafc8a1512c3e78d12bffe16"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#ab8b75e7bcafc8a1512c3e78d12bffe16">SVF::CFBasicBlockGraph::_bbToNode</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, CFBasicBlockNode * &gt; _bbToNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00353">CFBasicBlockG.h:353</a></div></div>
194
254
  <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>
195
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a72e47a6254620d0b65a8d1182777440a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">SVF::CFBasicBlockNode::_icfgNodes</a></div><div class="ttdeci">std::vector&lt; const ICFGNode * &gt; _icfgNodes</div><div class="ttdoc">Every CFBasicBlockNode holds a SVFBasicBlock.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00067">CFBasicBlockG.h:67</a></div></div>
196
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a23b45345db53640e342c28778d44c38e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a23b45345db53640e342c28778d44c38e">SVF::CFBasicBlockNode::CFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode(u32_t id, const SVFBasicBlock *svfBasicBlock)</div><div class="ttdoc">Every CBFGNode holds a vector of ICFGNodes.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00035">CFBasicBlockG.cpp:35</a></div></div>
197
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a9c4bab700158a9e285bcc71118a59308"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a9c4bab700158a9e285bcc71118a59308">SVF::CFBasicBlockGraph::_bbToNode</a></div><div class="ttdeci">SVFBasicBlockToCFBasicBlockNodeMap _bbToNode</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00116">CFBasicBlockG.h:116</a></div></div>
255
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a72e47a6254620d0b65a8d1182777440a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a72e47a6254620d0b65a8d1182777440a">SVF::CFBasicBlockNode::_icfgNodes</a></div><div class="ttdeci">std::vector&lt; const ICFGNode * &gt; _icfgNodes</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00114">CFBasicBlockG.h:114</a></div></div>
256
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a34ef44c3ffad24255a72c8ecf2f2919e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a34ef44c3ffad24255a72c8ecf2f2919e">SVF::CFBasicBlockNode::CFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode(std::vector&lt; const ICFGNode * &gt; icfgNodes)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00119">CFBasicBlockG.h:119</a></div></div>
257
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a5feb9a73d517a2be4eac0d7dddfedef8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a5feb9a73d517a2be4eac0d7dddfedef8">SVF::CFBasicBlockGraph::getCFBasicBlockEdge</a></div><div class="ttdeci">CFBasicBlockEdge * getCFBasicBlockEdge(const CFBasicBlockNode *src, const CFBasicBlockNode *dst, const ICFGEdge *icfgEdge)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00063">CFBasicBlockG.cpp:63</a></div></div>
258
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a93c5de88097d130a8ba06c7254f96510"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a93c5de88097d130a8ba06c7254f96510">SVF::CFBasicBlockNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00209">CFBasicBlockG.h:209</a></div></div>
198
259
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockEdge_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockEdge.html">SVF::CFBasicBlockEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00043">CFBasicBlockG.h:43</a></div></div>
199
260
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
200
- <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#l00118">CFBasicBlockG.h:118</a></div></div>
261
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGBuilder_html_a9c830d44805689071793420deff5af1a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGBuilder.html#a9c830d44805689071793420deff5af1a">SVF::CFBasicBlockGBuilder::build</a></div><div class="ttdeci">virtual void build(SVFModule *module)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00094">CFBasicBlockG.cpp:94</a></div></div>
201
262
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
202
- <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>
263
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_acd6a4b291c9aab8abdc466f985975d0d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#acd6a4b291c9aab8abdc466f985975d0d">SVF::CFBasicBlockGraph::addCFBBEdge</a></div><div class="ttdeci">bool addCFBBEdge(CFBasicBlockEdge *edge)</div><div class="ttdoc">Add ICFGEdgeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00467">CFBasicBlockG.h:467</a></div></div>
264
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a4a7a6e00d13b4099c34a3015b4f06a67"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a4a7a6e00d13b4099c34a3015b4f06a67">SVF::CFBasicBlockGraph::addCFBBNode</a></div><div class="ttdeci">virtual void addCFBBNode(CFBasicBlockNode *node)</div><div class="ttdoc">Add a ICFGNodeWrapper.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00477">CFBasicBlockG.h:477</a></div></div>
203
265
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
204
266
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
205
267
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
206
- <div class="ttc" id="aclassSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00221">GenericGraph.h:221</a></div></div>
207
268
  <div class="ttc" id="aSVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
208
269
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00572">SVFValue.h:572</a></div></div>
209
270
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00088">ICFG.h:88</a></div></div>
271
+ <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
210
272
  <div class="ttc" id="aCFBasicBlockG_8h_html"><div class="ttname"><a href="CFBasicBlockG_8h.html">CFBasicBlockG.h</a></div></div>
211
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a54200b5a7c41c2ba19660da34c295e81"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">SVF::CFBasicBlockGraph::getCFBasicBlockNode</a></div><div class="ttdeci">CFBasicBlockNode * getCFBasicBlockNode(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00136">CFBasicBlockG.h:136</a></div></div>
212
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a2e5ee754a3979b4f1c298a0f56083eba"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a2e5ee754a3979b4f1c298a0f56083eba">SVF::CFBasicBlockGraph::getOrAddCFBasicBlockNode</a></div><div class="ttdeci">const CFBasicBlockNode * getOrAddCFBasicBlockNode(const SVFBasicBlock *bb)</div><div class="ttdoc">Add a CFBasicBlockNode.</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00080">CFBasicBlockG.cpp:80</a></div></div>
213
- <div class="ttc" id="aclassSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00217">GenericGraph.h:217</a></div></div>
214
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGBuilder_html_a99e4116e416962d1a2f3eb9b09d253b5"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGBuilder.html#a99e4116e416962d1a2f3eb9b09d253b5">SVF::CFBasicBlockGBuilder::build</a></div><div class="ttdeci">void build()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00103">CFBasicBlockG.cpp:103</a></div></div>
215
273
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
216
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a3b3b8c637c6bbbbf0f199ab83d498391"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a3b3b8c637c6bbbbf0f199ab83d498391">SVF::CFBasicBlockGraph::_svfFunction</a></div><div class="ttdeci">const SVFFunction * _svfFunction</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00117">CFBasicBlockG.h:117</a></div></div>
217
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00063">CFBasicBlockG.h:63</a></div></div>
218
- <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#l00119">CFBasicBlockG.h:119</a></div></div>
219
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGBuilder_html_a4a298a45e54cbaf41cdf44aeea1a63f3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">SVF::CFBasicBlockGBuilder::_CFBasicBlockG</a></div><div class="ttdeci">CFBasicBlockGraph * _CFBasicBlockG</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00180">CFBasicBlockG.h:180</a></div></div>
274
+ <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>
275
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00106">CFBasicBlockG.h:106</a></div></div>
276
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a4ed32455eaafc3bd1a06ed9b417b329d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a4ed32455eaafc3bd1a06ed9b417b329d">SVF::CFBasicBlockNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00135">CFBasicBlockG.h:135</a></div></div>
277
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a358586d95a6027da09b97a3c35128a35"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a358586d95a6027da09b97a3c35128a35">SVF::CFBasicBlockNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00214">CFBasicBlockG.h:214</a></div></div>
278
+ <div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
279
+ <div class="ttc" id="aclassSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
280
+ <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
281
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGBuilder_html_a4a298a45e54cbaf41cdf44aeea1a63f3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">SVF::CFBasicBlockGBuilder::_CFBasicBlockG</a></div><div class="ttdeci">CFBasicBlockGraph * _CFBasicBlockG</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00488">CFBasicBlockG.h:488</a></div></div>
220
282
  <div class="ttc" id="aclassSVF_1_1GenericNode_html"><div class="ttname"><a href="classSVF_1_1GenericNode.html">SVF::GenericNode</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00141">GenericGraph.h:141</a></div></div>
221
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a727f0ef59605adf99af4babee90eb8a8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">SVF::CFBasicBlockNode::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00046">CFBasicBlockG.cpp:46</a></div></div>
222
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html_a5083e0c8e1c26d3ca7104c8f6310a37f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html#a5083e0c8e1c26d3ca7104c8f6310a37f">SVF::CFBasicBlockGraph::getOrAddCFBasicBlockEdge</a></div><div class="ttdeci">const CFBasicBlockEdge * getOrAddCFBasicBlockEdge(CFBasicBlockNode *src, CFBasicBlockNode *dst)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00090">CFBasicBlockG.cpp:90</a></div></div>
283
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a727f0ef59605adf99af4babee90eb8a8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a727f0ef59605adf99af4babee90eb8a8">SVF::CFBasicBlockNode::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8cpp_source.html#l00051">CFBasicBlockG.cpp:51</a></div></div>
284
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGraph_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00347">CFBasicBlockG.h:347</a></div></div>
223
285
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00567">SVFValue.h:567</a></div></div>
286
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a5374f4567cee38325f61940f4edbb142"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a5374f4567cee38325f61940f4edbb142">SVF::CFBasicBlockNode::addNode</a></div><div class="ttdeci">void addNode(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00170">CFBasicBlockG.h:170</a></div></div>
287
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a5dd4ac55123501c47c628adcf27e2475"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5dd4ac55123501c47c628adcf27e2475">SVF::ICFG::getICFGEdge</a></div><div class="ttdeci">ICFGEdge * getICFGEdge(const ICFGNode *src, const ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Get a SVFG edge according to src and dst.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00341">ICFG.cpp:341</a></div></div>
224
288
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00620">SVFValue.h:620</a></div></div>
225
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a5cc563d66215225affbdd71d49e4a5c8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a5cc563d66215225affbdd71d49e4a5c8">SVF::CFBasicBlockNode::_svfBasicBlock</a></div><div class="ttdeci">const SVFBasicBlock * _svfBasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00066">CFBasicBlockG.h:66</a></div></div>
226
- <div class="ttc" id="aclassSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00101">GenericGraph.h:101</a></div></div>
227
- <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
289
+ <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>
228
290
  <!-- start footer part -->
229
291
  <hr class="footer"/><address class="footer"><small>
230
292
  Generated by &#160;<a href="http://www.doxygen.org/index.html">
@@ -74,7 +74,7 @@ $(function() {
74
74
  </div><!--header-->
75
75
  <div class="contents">
76
76
  <div class="textblock"><code>#include &quot;<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>&quot;</code><br />
77
- <code>#include &quot;<a class="el" href="ICFGNode_8h_source.html">Graphs/ICFGNode.h</a>&quot;</code><br />
77
+ <code>#include &quot;<a class="el" href="ICFG_8h_source.html">Graphs/ICFG.h</a>&quot;</code><br />
78
78
  <code>#include &quot;<a class="el" href="GenericGraph_8h_source.html">Graphs/GenericGraph.h</a>&quot;</code><br />
79
79
  </div>
80
80
  <p><a href="CFBasicBlockG_8h_source.html">Go to the source code of this file.</a></p>
@@ -83,6 +83,8 @@ $(function() {
83
83
  Classes</h2></td></tr>
84
84
  <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockEdge.html">SVF::CFBasicBlockEdge</a></td></tr>
85
85
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSVF_1_1CFBasicBlockEdge_1_1equalCFBBEdge.html">SVF::CFBasicBlockEdge::equalCFBBEdge</a></td></tr>
87
+ <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
88
  <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockNode.html">SVF::CFBasicBlockNode</a></td></tr>
87
89
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
90
  <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFBasicBlockGraph.html">SVF::CFBasicBlockGraph</a></td></tr>