svf-tools 1.0.786 → 1.0.788

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +128 -122
  2. package/SVF-doxygen/html/CDGBuilder_8h_source.html +5 -5
  3. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp.html +92 -0
  4. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +291 -0
  5. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h.html +98 -0
  6. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +154 -0
  7. package/SVF-doxygen/html/CFBasicBlockG_8cpp_source.html +49 -184
  8. package/SVF-doxygen/html/CFBasicBlockG_8h.html +0 -2
  9. package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +509 -506
  10. package/SVF-doxygen/html/CHG_8cpp.html +2 -2
  11. package/SVF-doxygen/html/CHG_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/SVFValue_8cpp_source.html +144 -141
  17. package/SVF-doxygen/html/SVFValue_8h_source.html +9 -9
  18. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/WTO_8h_source.html +424 -372
  21. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +119 -113
  22. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -1
  23. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +302 -124
  24. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO-members.html +48 -47
  25. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +306 -236
  26. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  27. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
  28. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder-members.html +15 -14
  29. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html +90 -44
  30. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html +26 -26
  31. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -36
  32. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +121 -254
  33. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +46 -47
  34. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +185 -225
  35. package/SVF-doxygen/html/classSVF_1_1CHGraph.html +2 -2
  36. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
  37. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +2 -2
  38. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +63 -63
  39. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +28 -28
  40. package/SVF-doxygen/html/classSVF_1_1SVFG.html +1 -1
  41. package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +4 -4
  42. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +25 -22
  43. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +2 -2
  44. package/SVF-doxygen/html/classSVF_1_1VFG.html +1 -1
  45. package/SVF-doxygen/html/dir_445b24f35a8ddd2effd3d23ee1278e0a.html +2 -0
  46. package/SVF-doxygen/html/dir_fee120689dee99ef16f8bfcaa7a76083.html +2 -0
  47. package/SVF-doxygen/html/files.html +35 -33
  48. package/SVF-doxygen/html/functions.html +3 -4
  49. package/SVF-doxygen/html/functions_a.html +19 -10
  50. package/SVF-doxygen/html/functions_b.html +6 -6
  51. package/SVF-doxygen/html/functions_c.html +29 -29
  52. package/SVF-doxygen/html/functions_func.html +15 -6
  53. package/SVF-doxygen/html/functions_func_b.html +1 -1
  54. package/SVF-doxygen/html/functions_func_c.html +21 -21
  55. package/SVF-doxygen/html/functions_func_g.html +13 -14
  56. package/SVF-doxygen/html/functions_func_h.html +5 -8
  57. package/SVF-doxygen/html/functions_func_i.html +10 -7
  58. package/SVF-doxygen/html/functions_func_s.html +22 -25
  59. package/SVF-doxygen/html/functions_func_t.html +1 -1
  60. package/SVF-doxygen/html/functions_g.html +10 -11
  61. package/SVF-doxygen/html/functions_h.html +3 -6
  62. package/SVF-doxygen/html/functions_i.html +10 -7
  63. package/SVF-doxygen/html/functions_l.html +3 -3
  64. package/SVF-doxygen/html/functions_n.html +4 -4
  65. package/SVF-doxygen/html/functions_o.html +19 -19
  66. package/SVF-doxygen/html/functions_p.html +21 -17
  67. package/SVF-doxygen/html/functions_r.html +1 -1
  68. package/SVF-doxygen/html/functions_s.html +14 -17
  69. package/SVF-doxygen/html/functions_t.html +4 -4
  70. package/SVF-doxygen/html/functions_v.html +3 -3
  71. package/SVF-doxygen/html/functions_vars.html +3 -4
  72. package/SVF-doxygen/html/functions_w.html +7 -7
  73. package/SVF-doxygen/html/namespaceSVF.html +1 -1
  74. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +2 -2
  75. package/SVF-doxygen/html/search/all_0.js +123 -124
  76. package/SVF-doxygen/html/search/all_1.js +479 -476
  77. package/SVF-doxygen/html/search/all_10.js +324 -324
  78. package/SVF-doxygen/html/search/all_11.js +224 -224
  79. package/SVF-doxygen/html/search/all_12.js +541 -542
  80. package/SVF-doxygen/html/search/all_13.js +190 -190
  81. package/SVF-doxygen/html/search/all_14.js +67 -67
  82. package/SVF-doxygen/html/search/all_15.js +170 -170
  83. package/SVF-doxygen/html/search/all_16.js +63 -63
  84. package/SVF-doxygen/html/search/all_17.js +1 -1
  85. package/SVF-doxygen/html/search/all_18.js +1 -1
  86. package/SVF-doxygen/html/search/all_19.js +11 -11
  87. package/SVF-doxygen/html/search/all_1a.js +172 -172
  88. package/SVF-doxygen/html/search/all_2.js +167 -167
  89. package/SVF-doxygen/html/search/all_3.js +642 -640
  90. package/SVF-doxygen/html/search/all_4.js +233 -233
  91. package/SVF-doxygen/html/search/all_5.js +121 -121
  92. package/SVF-doxygen/html/search/all_6.js +225 -225
  93. package/SVF-doxygen/html/search/all_7.js +1038 -1038
  94. package/SVF-doxygen/html/search/all_8.js +194 -195
  95. package/SVF-doxygen/html/search/all_9.js +608 -607
  96. package/SVF-doxygen/html/search/all_a.js +46 -46
  97. package/SVF-doxygen/html/search/all_b.js +26 -26
  98. package/SVF-doxygen/html/search/all_c.js +116 -116
  99. package/SVF-doxygen/html/search/all_d.js +196 -196
  100. package/SVF-doxygen/html/search/all_e.js +207 -207
  101. package/SVF-doxygen/html/search/all_f.js +116 -116
  102. package/SVF-doxygen/html/search/classes_0.js +26 -26
  103. package/SVF-doxygen/html/search/classes_1.js +9 -9
  104. package/SVF-doxygen/html/search/classes_10.js +73 -73
  105. package/SVF-doxygen/html/search/classes_11.js +15 -15
  106. package/SVF-doxygen/html/search/classes_12.js +2 -2
  107. package/SVF-doxygen/html/search/classes_13.js +10 -10
  108. package/SVF-doxygen/html/search/classes_14.js +14 -14
  109. package/SVF-doxygen/html/search/classes_15.js +1 -1
  110. package/SVF-doxygen/html/search/classes_2.js +80 -80
  111. package/SVF-doxygen/html/search/classes_3.js +37 -37
  112. package/SVF-doxygen/html/search/classes_4.js +9 -9
  113. package/SVF-doxygen/html/search/classes_5.js +28 -28
  114. package/SVF-doxygen/html/search/classes_6.js +104 -104
  115. package/SVF-doxygen/html/search/classes_7.js +33 -33
  116. package/SVF-doxygen/html/search/classes_8.js +56 -56
  117. package/SVF-doxygen/html/search/classes_9.js +1 -1
  118. package/SVF-doxygen/html/search/classes_a.js +12 -12
  119. package/SVF-doxygen/html/search/classes_b.js +29 -29
  120. package/SVF-doxygen/html/search/classes_c.js +6 -6
  121. package/SVF-doxygen/html/search/classes_d.js +18 -18
  122. package/SVF-doxygen/html/search/classes_e.js +36 -36
  123. package/SVF-doxygen/html/search/classes_f.js +25 -25
  124. package/SVF-doxygen/html/search/defines_0.js +3 -3
  125. package/SVF-doxygen/html/search/defines_1.js +2 -2
  126. package/SVF-doxygen/html/search/defines_2.js +30 -30
  127. package/SVF-doxygen/html/search/defines_3.js +21 -21
  128. package/SVF-doxygen/html/search/defines_4.js +2 -2
  129. package/SVF-doxygen/html/search/defines_5.js +4 -4
  130. package/SVF-doxygen/html/search/defines_6.js +2 -2
  131. package/SVF-doxygen/html/search/defines_7.js +5 -5
  132. package/SVF-doxygen/html/search/defines_8.js +11 -11
  133. package/SVF-doxygen/html/search/defines_9.js +9 -9
  134. package/SVF-doxygen/html/search/defines_a.js +2 -2
  135. package/SVF-doxygen/html/search/defines_b.js +1 -1
  136. package/SVF-doxygen/html/search/defines_c.js +3 -3
  137. package/SVF-doxygen/html/search/defines_d.js +2 -2
  138. package/SVF-doxygen/html/search/defines_e.js +7 -7
  139. package/SVF-doxygen/html/search/defines_f.js +3 -3
  140. package/SVF-doxygen/html/search/enums_0.js +3 -3
  141. package/SVF-doxygen/html/search/enums_1.js +2 -2
  142. package/SVF-doxygen/html/search/enums_10.js +1 -1
  143. package/SVF-doxygen/html/search/enums_11.js +1 -1
  144. package/SVF-doxygen/html/search/enums_2.js +8 -8
  145. package/SVF-doxygen/html/search/enums_3.js +1 -1
  146. package/SVF-doxygen/html/search/enums_4.js +3 -3
  147. package/SVF-doxygen/html/search/enums_5.js +1 -1
  148. package/SVF-doxygen/html/search/enums_6.js +2 -2
  149. package/SVF-doxygen/html/search/enums_7.js +2 -2
  150. package/SVF-doxygen/html/search/enums_8.js +4 -4
  151. package/SVF-doxygen/html/search/enums_9.js +1 -1
  152. package/SVF-doxygen/html/search/enums_a.js +1 -1
  153. package/SVF-doxygen/html/search/enums_b.js +7 -7
  154. package/SVF-doxygen/html/search/enums_c.js +1 -1
  155. package/SVF-doxygen/html/search/enums_d.js +4 -4
  156. package/SVF-doxygen/html/search/enums_e.js +2 -2
  157. package/SVF-doxygen/html/search/enums_f.js +4 -4
  158. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  159. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  160. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  161. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  162. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  163. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  164. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  165. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  166. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  167. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  168. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  169. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  170. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  171. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  172. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  173. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  174. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  175. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  176. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  177. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  178. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  179. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  180. package/SVF-doxygen/html/search/files_0.js +13 -13
  181. package/SVF-doxygen/html/search/files_1.js +7 -7
  182. package/SVF-doxygen/html/search/files_10.js +8 -8
  183. package/SVF-doxygen/html/search/files_11.js +8 -8
  184. package/SVF-doxygen/html/search/files_12.js +2 -2
  185. package/SVF-doxygen/html/search/files_2.js +55 -53
  186. package/SVF-doxygen/html/search/files_3.js +14 -14
  187. package/SVF-doxygen/html/search/files_4.js +5 -5
  188. package/SVF-doxygen/html/search/files_5.js +13 -13
  189. package/SVF-doxygen/html/search/files_6.js +9 -9
  190. package/SVF-doxygen/html/search/files_7.js +14 -14
  191. package/SVF-doxygen/html/search/files_8.js +13 -13
  192. package/SVF-doxygen/html/search/files_9.js +18 -18
  193. package/SVF-doxygen/html/search/files_a.js +3 -3
  194. package/SVF-doxygen/html/search/files_b.js +2 -2
  195. package/SVF-doxygen/html/search/files_c.js +20 -20
  196. package/SVF-doxygen/html/search/files_d.js +4 -4
  197. package/SVF-doxygen/html/search/files_e.js +62 -62
  198. package/SVF-doxygen/html/search/files_f.js +8 -8
  199. package/SVF-doxygen/html/search/functions_0.js +12 -12
  200. package/SVF-doxygen/html/search/functions_1.js +359 -356
  201. package/SVF-doxygen/html/search/functions_10.js +140 -140
  202. package/SVF-doxygen/html/search/functions_11.js +138 -138
  203. package/SVF-doxygen/html/search/functions_12.js +276 -277
  204. package/SVF-doxygen/html/search/functions_13.js +58 -58
  205. package/SVF-doxygen/html/search/functions_14.js +39 -39
  206. package/SVF-doxygen/html/search/functions_15.js +71 -71
  207. package/SVF-doxygen/html/search/functions_16.js +32 -32
  208. package/SVF-doxygen/html/search/functions_17.js +3 -3
  209. package/SVF-doxygen/html/search/functions_18.js +172 -172
  210. package/SVF-doxygen/html/search/functions_2.js +86 -86
  211. package/SVF-doxygen/html/search/functions_3.js +257 -257
  212. package/SVF-doxygen/html/search/functions_4.js +75 -75
  213. package/SVF-doxygen/html/search/functions_5.js +53 -53
  214. package/SVF-doxygen/html/search/functions_6.js +59 -59
  215. package/SVF-doxygen/html/search/functions_7.js +849 -849
  216. package/SVF-doxygen/html/search/functions_8.js +146 -147
  217. package/SVF-doxygen/html/search/functions_9.js +426 -425
  218. package/SVF-doxygen/html/search/functions_a.js +30 -30
  219. package/SVF-doxygen/html/search/functions_b.js +2 -2
  220. package/SVF-doxygen/html/search/functions_c.js +26 -26
  221. package/SVF-doxygen/html/search/functions_d.js +77 -77
  222. package/SVF-doxygen/html/search/functions_e.js +35 -35
  223. package/SVF-doxygen/html/search/functions_f.js +56 -56
  224. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  225. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  226. package/SVF-doxygen/html/search/related_0.js +2 -2
  227. package/SVF-doxygen/html/search/related_1.js +2 -2
  228. package/SVF-doxygen/html/search/related_2.js +2 -2
  229. package/SVF-doxygen/html/search/related_3.js +2 -2
  230. package/SVF-doxygen/html/search/related_4.js +2 -2
  231. package/SVF-doxygen/html/search/related_5.js +1 -1
  232. package/SVF-doxygen/html/search/related_6.js +2 -2
  233. package/SVF-doxygen/html/search/related_7.js +4 -4
  234. package/SVF-doxygen/html/search/related_8.js +2 -2
  235. package/SVF-doxygen/html/search/related_9.js +4 -4
  236. package/SVF-doxygen/html/search/related_a.js +19 -19
  237. package/SVF-doxygen/html/search/related_b.js +4 -4
  238. package/SVF-doxygen/html/search/related_c.js +1 -1
  239. package/SVF-doxygen/html/search/related_d.js +11 -11
  240. package/SVF-doxygen/html/search/related_e.js +2 -2
  241. package/SVF-doxygen/html/search/related_f.js +2 -2
  242. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  243. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  244. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  245. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  246. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  247. package/SVF-doxygen/html/search/typedefs_13.js +35 -35
  248. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  249. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  250. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  251. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  252. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  253. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  254. package/SVF-doxygen/html/search/typedefs_7.js +42 -42
  255. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  256. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  257. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  258. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  259. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  260. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  261. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  262. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  263. package/SVF-doxygen/html/search/variables_0.js +151 -152
  264. package/SVF-doxygen/html/search/variables_1.js +75 -75
  265. package/SVF-doxygen/html/search/variables_10.js +97 -97
  266. package/SVF-doxygen/html/search/variables_11.js +46 -46
  267. package/SVF-doxygen/html/search/variables_12.js +92 -92
  268. package/SVF-doxygen/html/search/variables_13.js +75 -75
  269. package/SVF-doxygen/html/search/variables_14.js +14 -14
  270. package/SVF-doxygen/html/search/variables_15.js +48 -48
  271. package/SVF-doxygen/html/search/variables_16.js +9 -9
  272. package/SVF-doxygen/html/search/variables_17.js +1 -1
  273. package/SVF-doxygen/html/search/variables_18.js +2 -2
  274. package/SVF-doxygen/html/search/variables_2.js +37 -37
  275. package/SVF-doxygen/html/search/variables_3.js +142 -142
  276. package/SVF-doxygen/html/search/variables_4.js +55 -55
  277. package/SVF-doxygen/html/search/variables_5.js +39 -39
  278. package/SVF-doxygen/html/search/variables_6.js +66 -66
  279. package/SVF-doxygen/html/search/variables_7.js +33 -33
  280. package/SVF-doxygen/html/search/variables_8.js +7 -7
  281. package/SVF-doxygen/html/search/variables_9.js +77 -77
  282. package/SVF-doxygen/html/search/variables_a.js +4 -4
  283. package/SVF-doxygen/html/search/variables_b.js +10 -10
  284. package/SVF-doxygen/html/search/variables_c.js +45 -45
  285. package/SVF-doxygen/html/search/variables_d.js +56 -56
  286. package/SVF-doxygen/html/search/variables_e.js +123 -123
  287. package/SVF-doxygen/html/search/variables_f.js +30 -30
  288. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +93 -40
  289. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
  290. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
  291. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
  292. package/package.json +1 -1
  293. package/svf/include/AbstractExecution/WTO.h +56 -10
  294. package/svf/include/Graphs/CFBasicBlockG.h +62 -50
  295. package/svf/include/Util/CFBasicBlockGBuilder.h +59 -0
  296. package/svf/lib/Graphs/CFBasicBlockG.cpp +0 -111
  297. package/svf/lib/SVFIR/SVFValue.cpp +2 -0
  298. package/svf/lib/Util/CDGBuilder.cpp +5 -0
  299. package/svf/lib/Util/CFBasicBlockGBuilder.cpp +183 -0
@@ -469,474 +469,526 @@ $(function() {
469
469
  <div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e"> 492</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ae675544cc2cfc61ef9e37c4f20fa6109">NodeRefToCycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>;</div>
470
470
  <div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532"> 493</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>;</div>
471
471
  <div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303"> 494</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ae4fd19b6216a43afdac4edae42f22a26">CFBasicBlockNodes</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>;</div>
472
- <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; </div>
473
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;<span class="keyword">public</span>:</div>
474
- <div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8"> 497</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>() : <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>(0) {}</div>
475
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; </div>
476
- <div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a770b4af75bb4400bcd2916acc52939e5"> 499</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a770b4af75bb4400bcd2916acc52939e5">CFBasicBlockGWTO</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *entry) : <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>(0)</div>
477
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; {</div>
478
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">build</a>(entry);</div>
479
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div>
480
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; </div>
481
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;other) = <span class="keywordflow">default</span>;</div>
482
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; </div>
483
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;&amp;other) = <span class="keywordflow">default</span>;</div>
484
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; </div>
485
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4041183a3671e35c6b0723e76a34a4f3">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;other) = <span class="keywordflow">default</span>;</div>
486
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; </div>
487
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4041183a3671e35c6b0723e76a34a4f3">operator=</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;&amp;other) = <span class="keywordflow">default</span>;</div>
488
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; </div>
489
- <div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd"> 512</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd">~CFBasicBlockGWTO</a>()</div>
490
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; {</div>
491
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>)</div>
492
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; {</div>
493
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>;</div>
494
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; }</div>
495
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div>
496
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; </div>
497
- <div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5"> 520</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac767b7bdc3ee6f7e73fc36fa2d1e2745">Iterator</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>()<span class="keyword"> const</span></div>
498
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;<span class="keyword"> </span>{</div>
499
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>.cbegin();</div>
500
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; }</div>
501
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; </div>
502
- <div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d"> 525</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac767b7bdc3ee6f7e73fc36fa2d1e2745">Iterator</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>()<span class="keyword"> const</span></div>
503
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;<span class="keyword"> </span>{</div>
504
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>.cend();</div>
505
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; }</div>
506
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; </div>
507
- <div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b"> 530</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b">isHead</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)<span class="keyword"> const</span></div>
508
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;<span class="keyword"> </span>{</div>
509
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.find(node) != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.end();</div>
510
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; }</div>
511
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; </div>
512
- <div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e"> 535</a></span>&#160; <span class="keyword">typename</span> NodeRefToWTOCycleMap::const_iterator <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e">headBegin</a>()<span class="keyword"> const</span></div>
513
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;<span class="keyword"> </span>{</div>
514
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.cbegin();</div>
515
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; }</div>
516
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; </div>
517
- <div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60"> 540</a></span>&#160; <span class="keyword">typename</span> NodeRefToWTOCycleMap::const_iterator <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60">headEnd</a>()<span class="keyword"> const</span></div>
518
- <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;<span class="keyword"> </span>{</div>
519
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.cend();</div>
520
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; }</div>
521
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; </div>
522
- <div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71"> 545</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71">getTails</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)<span class="keyword"> const</span></div>
523
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;<span class="keyword"> </span>{</div>
524
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.find(node);</div>
525
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
526
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
527
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; }</div>
528
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; </div>
472
+ <div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3"> 495</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>* <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">_graph</a>;</div>
473
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; </div>
474
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;<span class="keyword">public</span>:</div>
475
+ <div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8"> 498</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>() : <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>(0) {}</div>
476
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; </div>
477
+ <div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#af60b932f1b5ffce5a249feb22d7da133"> 500</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af60b932f1b5ffce5a249feb22d7da133">CFBasicBlockGWTO</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>* graph, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *entry) : <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>(0), <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">_graph</a>(graph)</div>
478
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div>
479
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">build</a>(entry);</div>
480
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div>
481
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; </div>
482
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;other) = <span class="keywordflow">default</span>;</div>
483
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; </div>
484
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">CFBasicBlockGWTO</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;&amp;other) = <span class="keywordflow">default</span>;</div>
485
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; </div>
486
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4041183a3671e35c6b0723e76a34a4f3">operator=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;other) = <span class="keywordflow">default</span>;</div>
487
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; </div>
488
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4041183a3671e35c6b0723e76a34a4f3">operator=</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;&amp;other) = <span class="keywordflow">default</span>;</div>
489
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; </div>
490
+ <div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd"> 513</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd">~CFBasicBlockGWTO</a>()</div>
491
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; {</div>
492
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>)</div>
493
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; {</div>
494
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>;</div>
495
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; }</div>
496
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div>
497
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; </div>
498
+ <div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5"> 521</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac767b7bdc3ee6f7e73fc36fa2d1e2745">Iterator</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>()<span class="keyword"> const</span></div>
499
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="keyword"> </span>{</div>
500
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>.cbegin();</div>
501
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div>
502
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; </div>
503
+ <div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d"> 526</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac767b7bdc3ee6f7e73fc36fa2d1e2745">Iterator</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>()<span class="keyword"> const</span></div>
504
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="keyword"> </span>{</div>
505
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>.cend();</div>
506
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div>
507
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; </div>
508
+ <div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b"> 531</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b">isHead</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)<span class="keyword"> const</span></div>
509
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="keyword"> </span>{</div>
510
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.find(node) != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.end();</div>
511
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div>
512
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; </div>
513
+ <div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e"> 536</a></span>&#160; <span class="keyword">typename</span> NodeRefToWTOCycleMap::const_iterator <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e">headBegin</a>()<span class="keyword"> const</span></div>
514
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="keyword"> </span>{</div>
515
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.cbegin();</div>
516
+ <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div>
517
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; </div>
518
+ <div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60"> 541</a></span>&#160; <span class="keyword">typename</span> NodeRefToWTOCycleMap::const_iterator <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60">headEnd</a>()<span class="keyword"> const</span></div>
519
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="keyword"> </span>{</div>
520
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.cend();</div>
521
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div>
522
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; </div>
523
+ <div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71"> 546</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71">getTails</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)<span class="keyword"> const</span></div>
524
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="keyword"> </span>{</div>
525
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.find(node);</div>
526
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
527
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
528
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; }</div>
529
529
  <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; </div>
530
- <div class="line"><a name="l00554"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f"> 554</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">getWTOCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
531
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;<span class="keyword"> </span>{</div>
532
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
533
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
534
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> *(it-&gt;second);</div>
535
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div>
536
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; </div>
537
- <div class="line"><a name="l00562"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d"> 562</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d">inNodeToCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
538
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160;<span class="keyword"> </span>{</div>
539
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
540
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.end();</div>
541
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; }</div>
542
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; </div>
543
- <div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd"> 569</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd">accept</a>(<a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a>* v)</div>
544
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div>
545
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;c: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>)</div>
546
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div>
547
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; c-&gt;accept(v);</div>
548
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div>
549
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div>
550
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; </div>
551
- <div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec"> 577</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">toString</a>()<span class="keyword"> const</span></div>
552
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;<span class="keyword"> </span>{</div>
553
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
554
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; std::stringstream rawstr(str);</div>
555
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
556
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>(), et = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>(); it != et;)</div>
557
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div>
558
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; rawstr &lt;&lt; (*it)-&gt;toString();</div>
559
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; ++it;</div>
560
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">if</span> (it != et)</div>
561
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div>
562
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
563
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div>
564
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div>
565
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
566
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
567
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div>
568
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; </div>
569
- <div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b"> 595</a></span>&#160; <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b">operator&lt;&lt;</a>(std::ostream &amp;o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a>)</div>
570
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; {</div>
571
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; o &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a>.<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">toString</a>();</div>
572
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> o;</div>
573
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; }</div>
574
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; </div>
575
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160;<span class="keyword">protected</span>:</div>
576
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; </div>
577
- <div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f"> 603</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">build</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *entry)</div>
578
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; {</div>
579
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(entry, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>);</div>
580
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.clear();</div>
581
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.clear();</div>
582
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">buildNodeToWTOCycleDepth</a>();</div>
583
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">build_tails</a>();</div>
584
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div>
585
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; </div>
586
- <div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html"> 613</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">WTOCycleDepthBuilder</a> final</div>
587
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; : <span class="keyword">public</span> <a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a></div>
588
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; {</div>
589
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keyword">private</span>:</div>
590
- <div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639"> 617</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1cb3ad13956ab175c4c16bd9c856de47">CFBasicBlockGWTOCycleDepthPtr</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>;</div>
591
- <div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad"> 618</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>;</div>
592
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; </div>
593
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keyword">public</span>:</div>
594
- <div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6"> 621</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6">WTOCycleDepthBuilder</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;nodeToWTOCycleDepth)</div>
595
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; : <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>(std::make_shared&lt;<a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a>&gt;()),</div>
596
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>(nodeToWTOCycleDepth) {}</div>
597
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; </div>
598
- <div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962"> 625</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> &amp;cycle)<span class="keyword"> override</span></div>
599
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;<span class="keyword"> </span>{</div>
600
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *head = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aba6a1249015322f073e05fcf089da801">head</a>();</div>
601
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1cb3ad13956ab175c4c16bd9c856de47">CFBasicBlockGWTOCycleDepthPtr</a> previous_nesting = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>;</div>
602
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>.insert(std::make_pair(head, <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>));</div>
603
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a> = std::make_shared&lt;CFBasicBlockGWTOCycleDepth&gt;(*<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>);</div>
604
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>-&gt;push_back(head);</div>
605
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aa4902464dbcfdf6d961050ebfe7b3c88">begin</a>(), et = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4205c03d5bbb94d52fe449a97d2b881">end</a>(); it != et; ++it)</div>
606
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; {</div>
607
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; (*it)-&gt;accept(<span class="keyword">this</span>);</div>
608
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; }</div>
609
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a> = previous_nesting;</div>
610
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; }</div>
611
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; </div>
612
- <div class="line"><a name="l00639"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20"> 639</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> &amp;node)<span class="keyword"> override</span></div>
613
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;<span class="keyword"> </span>{</div>
614
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>.insert(</div>
615
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; std::make_pair(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>(), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>));</div>
616
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
617
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; </div>
618
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; }; <span class="comment">// end class WTOCycleDepthBuilder</span></div>
619
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; </div>
620
- <div class="line"><a name="l00648"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html"> 648</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">TailBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a></div>
621
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
622
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keyword">protected</span>:</div>
623
- <div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b"> 651</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>;</div>
624
- <div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209"> 652</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>;</div>
625
- <div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44"> 653</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a>;</div>
626
- <div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c"> 654</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>;</div>
627
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; </div>
628
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keyword">public</span>:</div>
530
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; </div>
531
+ <div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f"> 555</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">getWTOCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
532
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;<span class="keyword"> </span>{</div>
533
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
534
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
535
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> *(it-&gt;second);</div>
536
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; }</div>
537
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; </div>
538
+ <div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d"> 563</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d">inNodeToCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
539
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;<span class="keyword"> </span>{</div>
540
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
541
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>.end();</div>
542
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
543
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; </div>
544
+ <div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd"> 570</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd">accept</a>(<a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a>* v)</div>
545
+ <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div>
546
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;c: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>)</div>
547
+ <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; {</div>
548
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; c-&gt;accept(v);</div>
549
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; }</div>
550
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div>
551
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; </div>
552
+ <div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec"> 578</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">toString</a>()<span class="keyword"> const</span></div>
553
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160;<span class="keyword"> </span>{</div>
554
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
555
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; std::stringstream rawstr(str);</div>
556
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
557
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>(), et = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>(); it != et;)</div>
558
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; {</div>
559
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; rawstr &lt;&lt; (*it)-&gt;toString();</div>
560
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; ++it;</div>
561
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">if</span> (it != et)</div>
562
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; {</div>
563
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
564
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div>
565
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div>
566
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
567
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
568
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div>
569
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; </div>
570
+ <div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b"> 596</a></span>&#160; <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b">operator&lt;&lt;</a>(std::ostream &amp;o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a>)</div>
571
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div>
572
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; o &lt;&lt; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html">CFBasicBlockGWTO</a>.<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">toString</a>();</div>
573
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">return</span> o;</div>
574
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; }</div>
575
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; </div>
576
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;<span class="keyword">protected</span>:</div>
577
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; </div>
578
+ <div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f"> 604</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">build</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *entry)</div>
579
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div>
580
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(entry, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">_components</a>);</div>
581
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.clear();</div>
582
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.clear();</div>
583
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">buildNodeToWTOCycleDepth</a>();</div>
584
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">build_tails</a>();</div>
585
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; }</div>
586
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; </div>
587
+ <div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html"> 614</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">WTOCycleDepthBuilder</a> final</div>
588
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; : <span class="keyword">public</span> <a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a></div>
589
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; {</div>
590
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keyword">private</span>:</div>
591
+ <div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639"> 618</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1cb3ad13956ab175c4c16bd9c856de47">CFBasicBlockGWTOCycleDepthPtr</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>;</div>
592
+ <div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad"> 619</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>;</div>
593
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; </div>
594
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keyword">public</span>:</div>
595
+ <div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6"> 622</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6">WTOCycleDepthBuilder</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;nodeToWTOCycleDepth)</div>
596
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; : <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>(std::make_shared&lt;<a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a>&gt;()),</div>
597
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>(nodeToWTOCycleDepth) {}</div>
598
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; </div>
599
+ <div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962"> 626</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> &amp;cycle)<span class="keyword"> override</span></div>
600
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;<span class="keyword"> </span>{</div>
601
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *head = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aba6a1249015322f073e05fcf089da801">head</a>();</div>
602
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1cb3ad13956ab175c4c16bd9c856de47">CFBasicBlockGWTOCycleDepthPtr</a> previous_nesting = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>;</div>
603
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>.insert(std::make_pair(head, <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>));</div>
604
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a> = std::make_shared&lt;CFBasicBlockGWTOCycleDepth&gt;(*<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>);</div>
605
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>-&gt;push_back(head);</div>
606
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aa4902464dbcfdf6d961050ebfe7b3c88">begin</a>(), et = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4205c03d5bbb94d52fe449a97d2b881">end</a>(); it != et; ++it)</div>
607
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div>
608
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; (*it)-&gt;accept(<span class="keyword">this</span>);</div>
609
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; }</div>
610
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a> = previous_nesting;</div>
611
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; }</div>
612
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; </div>
613
+ <div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20"> 640</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> &amp;node)<span class="keyword"> override</span></div>
614
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160;<span class="keyword"> </span>{</div>
615
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">_nodeToWTOCycleDepth</a>.insert(</div>
616
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; std::make_pair(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>(), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">_wtoCycleDepth</a>));</div>
617
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; }</div>
618
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; </div>
619
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }; <span class="comment">// end class WTOCycleDepthBuilder</span></div>
620
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
621
+ <div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html"> 649</a></span>&#160; <span class="keyword">class </span><a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">TailBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1WTOVisitor.html">WTOVisitor</a></div>
622
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; {</div>
623
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">protected</span>:</div>
624
+ <div class="line"><a name="l00652"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b"> 652</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>;</div>
625
+ <div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209"> 653</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>;</div>
626
+ <div class="line"><a name="l00654"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44"> 654</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a>;</div>
627
+ <div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c"> 655</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>;</div>
628
+ <div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aeb1a15b36d109ea3c286a73af5f08777"> 656</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>* <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aeb1a15b36d109ea3c286a73af5f08777">_graph</a>;</div>
629
629
  <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; </div>
630
- <div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a44cc18a45611b6094a9c41251668a4a8"> 658</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a44cc18a45611b6094a9c41251668a4a8">TailBuilder</a>(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;nodeToWTOCycleDepth, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;tails, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *head,</div>
631
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;headWTOCycleDepth) : <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>(tails), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>(headWTOCycleDepth), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a>(head), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>(</div>
632
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; nodeToWTOCycleDepth)</div>
633
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div>
634
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
635
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; </div>
636
- <div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1"> 664</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> &amp;cycle)<span class="keyword"> override</span></div>
637
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;<span class="keyword"> </span>{</div>
638
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aa4902464dbcfdf6d961050ebfe7b3c88">begin</a>(), et = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4205c03d5bbb94d52fe449a97d2b881">end</a>(); it != et; ++it)</div>
639
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div>
640
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; (*it)-&gt;accept(<span class="keyword">this</span>);</div>
641
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
642
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; }</div>
643
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; </div>
644
- <div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879"> 672</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> &amp;node)<span class="keyword"> override</span></div>
645
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="keyword"> </span>{</div>
646
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;edge: node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>()-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>())</div>
647
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
648
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = edge-&gt;getDstNode();</div>
649
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;succNesting = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">getWTOCycleDepth</a>(succ);</div>
650
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">if</span> (succ != <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a> &amp;&amp; succNesting &lt;= <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>)</div>
651
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div>
652
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>.insert(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>());</div>
653
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
654
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; }</div>
655
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; }</div>
656
- <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; </div>
657
- <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keyword">protected</span>:</div>
658
- <div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c"> 687</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">getWTOCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
659
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160;<span class="keyword"> </span>{</div>
660
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
661
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
662
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">return</span> *(it-&gt;second);</div>
663
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div>
664
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; </div>
665
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; };</div>
666
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; </div>
667
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;<span class="keyword">protected</span>:</div>
668
- <div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c"> 698</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
669
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="keyword"> </span>{</div>
670
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
671
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.end())</div>
672
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div>
673
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
674
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }</div>
675
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">else</span></div>
676
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; {</div>
677
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">return</span> 0;</div>
678
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div>
679
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div>
680
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; </div>
681
- <div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898"> 712</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> &amp;Depth)</div>
682
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {</div>
683
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keyword">auto</span> res = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.insert(std::make_pair(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, Depth));</div>
684
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (!res.second)</div>
630
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keyword">public</span>:</div>
631
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; </div>
632
+ <div class="line"><a name="l00660"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aa7084b799641d5413dd7d8c76cc2bd9e"> 660</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aa7084b799641d5413dd7d8c76cc2bd9e">TailBuilder</a>(<a class="code" href="classSVF_1_1CFBasicBlockGraph.html">CFBasicBlockGraph</a>* graph, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">NodeRefToWTOCycleDepthPtr</a> &amp;nodeToWTOCycleDepth, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> &amp;tails, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *head,</div>
633
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;headWTOCycleDepth) : <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>(tails), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>(headWTOCycleDepth), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a>(head), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>(</div>
634
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; nodeToWTOCycleDepth), <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aeb1a15b36d109ea3c286a73af5f08777">_graph</a>(graph)</div>
635
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div>
636
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div>
637
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; </div>
638
+ <div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1"> 666</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> &amp;cycle)<span class="keyword"> override</span></div>
639
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160;<span class="keyword"> </span>{</div>
640
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#aa4902464dbcfdf6d961050ebfe7b3c88">begin</a>(), et = cycle.<a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4205c03d5bbb94d52fe449a97d2b881">end</a>(); it != et; ++it)</div>
641
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div>
642
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; (*it)-&gt;accept(<span class="keyword">this</span>);</div>
643
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div>
644
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div>
645
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; </div>
646
+ <div class="line"><a name="l00674"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879"> 674</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> &amp;node)<span class="keyword"> override</span></div>
647
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="keyword"> </span>{</div>
648
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode = SVFUtil::dyn_cast&lt;CallICFGNode&gt;(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>()-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">getICFGNodes</a>().front()))</div>
649
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; {</div>
650
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aeb1a15b36d109ea3c286a73af5f08777">_graph</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(callNode-&gt;getRetICFGNode()-&gt;getId());</div>
651
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;succNesting = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">getWTOCycleDepth</a>(succ);</div>
652
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">if</span> (succ != <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a> &amp;&amp; succNesting &lt;= <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>)</div>
653
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; {</div>
654
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>.insert(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>());</div>
655
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; }</div>
656
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div>
657
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">else</span></div>
658
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div>
659
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;edge: node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>()-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>())</div>
660
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div>
661
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = edge-&gt;getDstNode();</div>
662
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;succNesting = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">getWTOCycleDepth</a>(succ);</div>
663
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">if</span> (succ != <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">_head</a> &amp;&amp; succNesting &lt;= <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">_headWTOCycleDepth</a>)</div>
664
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div>
665
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">_tails</a>.insert(node.<a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">node</a>());</div>
666
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div>
667
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; }</div>
668
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div>
669
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div>
670
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; </div>
671
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keyword">protected</span>:</div>
672
+ <div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c"> 701</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1WTOCycleDepth.html">CFBasicBlockGWTOCycleDepth</a> &amp;<a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">getWTOCycleDepth</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
673
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="keyword"> </span>{</div>
674
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
675
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; assert(it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">_nodeToWTOCycleDepth</a>.end() &amp;&amp; <span class="stringliteral">&quot;node not found&quot;</span>);</div>
676
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">return</span> *(it-&gt;second);</div>
677
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; }</div>
678
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
679
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; };</div>
680
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; </div>
681
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;<span class="keyword">protected</span>:</div>
682
+ <div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c"> 712</a></span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)<span class="keyword"> const</span></div>
683
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="keyword"> </span>{</div>
684
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.find(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
685
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.end())</div>
685
686
  <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div>
686
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; (res.first)-&gt;second = Depth;</div>
687
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
687
688
  <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; }</div>
688
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; }</div>
689
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; </div>
690
- <div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35"> 722</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>()</div>
691
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div>
692
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; assert(!<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.empty() &amp;&amp; <span class="stringliteral">&quot;empty stack&quot;</span>);</div>
693
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *top = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.back();</div>
694
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.pop_back();</div>
695
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span> top;</div>
696
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div>
697
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; </div>
698
- <div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923"> 731</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">push</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)</div>
699
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; {</div>
700
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.push_back(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
701
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div>
702
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; </div>
703
- <div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4"> 736</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">newNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
689
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">else</span></div>
690
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; {</div>
691
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; <span class="keywordflow">return</span> 0;</div>
692
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
693
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div>
694
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; </div>
695
+ <div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898"> 726</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> &amp;Depth)</div>
696
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; {</div>
697
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keyword">auto</span> res = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">_nodeToCDN</a>.insert(std::make_pair(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>, Depth));</div>
698
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">if</span> (!res.second)</div>
699
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div>
700
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; (res.first)-&gt;second = Depth;</div>
701
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; }</div>
702
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div>
703
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; </div>
704
+ <div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35"> 736</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>()</div>
704
705
  <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; {</div>
705
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> *ptr = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a>(node);</div>
706
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>.insert(ptr);</div>
707
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">return</span> ptr;</div>
708
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div>
709
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; </div>
710
- <div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e"> 743</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">newCycle</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> &amp;partition)</div>
711
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; {</div>
712
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *ptr = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a>(node, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(partition));</div>
713
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>.insert(ptr);</div>
714
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">return</span> ptr;</div>
706
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; assert(!<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.empty() &amp;&amp; <span class="stringliteral">&quot;empty stack&quot;</span>);</div>
707
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *top = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.back();</div>
708
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.pop_back();</div>
709
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> top;</div>
710
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div>
711
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; </div>
712
+ <div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923"> 745</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">push</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>)</div>
713
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div>
714
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">_stack</a>.push_back(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>);</div>
715
715
  <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div>
716
716
  <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; </div>
717
- <div class="line"><a name="l00751"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d"> 751</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
718
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div>
719
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> partition;</div>
720
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().begin(), et = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().end(); it != et; ++it)</div>
721
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; {</div>
722
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = (*it)-&gt;getDstNode();</div>
723
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ) == 0)</div>
724
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div>
725
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
726
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div>
727
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; }</div>
728
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *ptr = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">newCycle</a>(node, partition);</div>
729
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.emplace(node, ptr);</div>
730
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> ptr;</div>
731
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div>
732
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; </div>
733
- <div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb"> 768</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> &amp;partition)</div>
734
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div>
735
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> head(0);</div>
736
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> min(0);</div>
737
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="keywordtype">bool</span> loop;</div>
738
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; </div>
739
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">push</a>(node);</div>
740
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a> += <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a>(1);</div>
741
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; head = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>;</div>
742
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(node, head);</div>
743
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; loop = <span class="keyword">false</span>;</div>
744
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().begin(), et = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().end(); it != et; ++it)</div>
745
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div>
746
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = (*it)-&gt;getDstNode();</div>
747
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> succ_dfn = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ);</div>
748
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keywordflow">if</span> (succ_dfn == <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a>(0))</div>
749
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; {</div>
750
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; min = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
751
- <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; }</div>
752
- <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keywordflow">else</span></div>
753
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; {</div>
754
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; min = succ_dfn;</div>
755
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div>
756
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">if</span> (min &lt;= head)</div>
757
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
758
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; head = min;</div>
759
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; loop = <span class="keyword">true</span>;</div>
760
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; }</div>
761
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
762
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">if</span> (head == <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(node))</div>
763
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div>
764
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(node, UINT_MAX);</div>
765
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *element = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>();</div>
766
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">if</span> (loop)</div>
767
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
768
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; <span class="keywordflow">while</span> (element != node)</div>
769
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; {</div>
770
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(element, 0);</div>
771
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; element = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>();</div>
772
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; }</div>
773
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; partition.push_front(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>(node));</div>
774
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; }</div>
775
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">else</span></div>
776
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
777
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; partition.push_front(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">newNode</a>(node));</div>
778
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; }</div>
779
- <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; }</div>
780
- <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> head;</div>
781
- <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; }</div>
782
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; </div>
783
- <div class="line"><a name="l00819"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba"> 819</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">buildNodeToWTOCycleDepth</a>()</div>
784
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
785
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">WTOCycleDepthBuilder</a> builder(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>);</div>
786
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>(), et = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>(); it != et; ++it)</div>
717
+ <div class="line"><a name="l00750"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4"> 750</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">newNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
718
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; {</div>
719
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a> *ptr = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTONode.html">CFBasicBlockGWTONode</a>(node);</div>
720
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>.insert(ptr);</div>
721
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="keywordflow">return</span> ptr;</div>
722
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
723
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; </div>
724
+ <div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e"> 757</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">newCycle</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> &amp;partition)</div>
725
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div>
726
+ <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *ptr = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a>(node, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(partition));</div>
727
+ <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">_allComponents</a>.insert(ptr);</div>
728
+ <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">return</span> ptr;</div>
729
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; }</div>
730
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; </div>
731
+ <div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d"> 765</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node)</div>
732
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; {</div>
733
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> partition;</div>
734
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode = SVFUtil::dyn_cast&lt;CallICFGNode&gt;(node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">getICFGNodes</a>().front()))</div>
735
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div>
736
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">_graph</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(callNode-&gt;getRetICFGNode()-&gt;getId());</div>
737
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ) == 0)</div>
738
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div>
739
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
740
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div>
741
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; }</div>
742
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">else</span></div>
743
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; {</div>
744
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().begin(), et = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().end(); it != et; ++it)</div>
745
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; {</div>
746
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = (*it)-&gt;getDstNode();</div>
747
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ) == 0)</div>
748
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; {</div>
749
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
750
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
751
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; }</div>
752
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; }</div>
753
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTOCycle.html">CFBasicBlockGWTOCycle</a> *ptr = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">newCycle</a>(node, partition);</div>
754
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>.emplace(node, ptr);</div>
755
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keywordflow">return</span> ptr;</div>
756
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div>
757
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; </div>
758
+ <div class="line"><a name="l00793"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb"> 793</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *node, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">WTOCompRefList</a> &amp;partition)</div>
759
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; {</div>
760
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> head(0);</div>
761
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> min(0);</div>
762
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordtype">bool</span> loop;</div>
763
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; </div>
764
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">push</a>(node);</div>
765
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a> += <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a>(1);</div>
766
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; head = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">_num</a>;</div>
767
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(node, head);</div>
768
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; loop = <span class="keyword">false</span>;</div>
769
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode = SVFUtil::dyn_cast&lt;CallICFGNode&gt;(node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">getICFGNodes</a>().front()))</div>
770
+ <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; {</div>
771
+ <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">_graph</a>-&gt;<a class="code" href="classSVF_1_1CFBasicBlockGraph.html#a54200b5a7c41c2ba19660da34c295e81">getCFBasicBlockNode</a>(callNode-&gt;getRetICFGNode()-&gt;getId());</div>
772
+ <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> succ_dfn = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ);</div>
773
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keywordflow">if</span> (succ_dfn == <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a>(0))</div>
774
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; {</div>
775
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; min = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
776
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; }</div>
777
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">else</span></div>
778
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div>
779
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; min = succ_dfn;</div>
780
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; }</div>
781
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">if</span> (min &lt;= head)</div>
782
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
783
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; head = min;</div>
784
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; loop = <span class="keyword">true</span>;</div>
785
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; }</div>
786
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; }</div>
787
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; <span class="keywordflow">else</span></div>
787
788
  <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div>
788
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; (*it)-&gt;accept(&amp;builder);</div>
789
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div>
790
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; }</div>
791
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; </div>
792
- <div class="line"><a name="l00829"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a"> 829</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">build_tails</a>()</div>
793
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; {</div>
794
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;head: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>)</div>
795
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; {</div>
796
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> tails;</div>
797
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">TailBuilder</a> builder(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>, tails, head.first, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">getWTOCycleDepth</a>(head.first));</div>
798
- <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = head.second-&gt;begin(), eit = head.second-&gt;end(); it != eit; ++it)</div>
799
- <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; {</div>
800
- <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; (*it)-&gt;accept(&amp;builder);</div>
801
- <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; }</div>
802
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.emplace(head.first, tails);</div>
803
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; }</div>
804
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div>
805
- <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; </div>
806
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160;}; <span class="comment">// end class CFBasicBlockGWTO</span></div>
807
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; </div>
808
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160;} <span class="comment">// end namespace SVF</span></div>
809
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WTO_H_ */</span><span class="preprocessor"></span></div>
789
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().begin(), et = node-&gt;<a class="code" href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">getOutEdges</a>().end(); it != et; ++it)</div>
790
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; {</div>
791
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *succ = (*it)-&gt;getDstNode();</div>
792
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a> succ_dfn = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(succ);</div>
793
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="keywordflow">if</span> (succ_dfn == <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">CycleDepthNumber</a>(0))</div>
794
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; {</div>
795
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; min = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">visit</a>(succ, partition);</div>
796
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div>
797
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="keywordflow">else</span></div>
798
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; {</div>
799
+ <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; min = succ_dfn;</div>
800
+ <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; }</div>
801
+ <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="keywordflow">if</span> (min &lt;= head)</div>
802
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; {</div>
803
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; head = min;</div>
804
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; loop = <span class="keyword">true</span>;</div>
805
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; }</div>
806
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div>
807
+ <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div>
808
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">if</span> (head == <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">getCDN</a>(node))</div>
809
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div>
810
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(node, UINT_MAX);</div>
811
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFBasicBlockNode.html">CFBasicBlockNode</a> *element = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>();</div>
812
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (loop)</div>
813
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; {</div>
814
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">while</span> (element != node)</div>
815
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
816
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">setCDN</a>(element, 0);</div>
817
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; element = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">pop</a>();</div>
818
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; }</div>
819
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; partition.push_front(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">component</a>(node));</div>
820
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div>
821
+ <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; <span class="keywordflow">else</span></div>
822
+ <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; {</div>
823
+ <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; partition.push_front(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">newNode</a>(node));</div>
824
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; }</div>
825
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; }</div>
826
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">return</span> head;</div>
827
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
828
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; </div>
829
+ <div class="line"><a name="l00865"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba"> 865</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">buildNodeToWTOCycleDepth</a>()</div>
830
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; {</div>
831
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">WTOCycleDepthBuilder</a> builder(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>);</div>
832
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">begin</a>(), et = <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">end</a>(); it != et; ++it)</div>
833
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; {</div>
834
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; (*it)-&gt;accept(&amp;builder);</div>
835
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; }</div>
836
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; }</div>
837
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; </div>
838
+ <div class="line"><a name="l00875"></a><span class="lineno"><a class="line" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a"> 875</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">build_tails</a>()</div>
839
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div>
840
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;head: <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">_headToCycle</a>)</div>
841
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; {</div>
842
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">NodeRefSet</a> tails;</div>
843
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">TailBuilder</a> builder(<a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">_graph</a>, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">_nodeToDepth</a>, tails, head.first, <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">getWTOCycleDepth</a>(head.first));</div>
844
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = head.second-&gt;begin(), eit = head.second-&gt;end(); it != eit; ++it)</div>
845
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; {</div>
846
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; (*it)-&gt;accept(&amp;builder);</div>
847
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; }</div>
848
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <a class="code" href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">_headToTails</a>.emplace(head.first, tails);</div>
849
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; }</div>
850
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; }</div>
851
+ <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; </div>
852
+ <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;}; <span class="comment">// end class CFBasicBlockGWTO</span></div>
853
+ <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; </div>
854
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;} <span class="comment">// end namespace SVF</span></div>
855
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* WTO_H_ */</span><span class="preprocessor"></span></div>
810
856
  </div><!-- fragment --></div><!-- contents -->
811
857
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_aba6a1249015322f073e05fcf089da801"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#aba6a1249015322f073e05fcf089da801">SVF::CFBasicBlockGWTOCycle::head</a></div><div class="ttdeci">const CFBasicBlockNode * head() const</div><div class="ttdoc">Return the head of the cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00405">WTO.h:405</a></div></div>
812
858
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html">SVF::CFBasicBlockGWTOCycle</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00386">WTO.h:386</a></div></div>
813
859
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_ae9765d0ba0c8b8ec83d9482fea016713"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#ae9765d0ba0c8b8ec83d9482fea016713">SVF::WTOCycleDepth::operator==</a></div><div class="ttdeci">bool operator==(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Equal with other's depth.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00220">WTO.h:220</a></div></div>
814
860
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ada27aa4f9b577c7f7cef09e9936327f2"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ada27aa4f9b577c7f7cef09e9936327f2">SVF::CFBasicBlockGWTO::NodeRefSet</a></div><div class="ttdeci">Set&lt; const CFBasicBlockNode * &gt; NodeRefSet</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00469">WTO.h:469</a></div></div>
815
861
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a19ae57653ecb3c74d030bed48327ed0e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a19ae57653ecb3c74d030bed48327ed0e">SVF::CFBasicBlockGWTO::CycleDepthNumber</a></div><div class="ttdeci">u32_t CycleDepthNumber</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00477">WTO.h:477</a></div></div>
816
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a2b918d80839deaf3e1b1fa9fe984dbec"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">SVF::CFBasicBlockGWTO::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00577">WTO.h:577</a></div></div>
862
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a2b918d80839deaf3e1b1fa9fe984dbec"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a2b918d80839deaf3e1b1fa9fe984dbec">SVF::CFBasicBlockGWTO::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00578">WTO.h:578</a></div></div>
817
863
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a8790ebb6a4a34558af2c5843a5fa55bb"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a8790ebb6a4a34558af2c5843a5fa55bb">SVF::WTOCycleDepth::operator^</a></div><div class="ttdeci">WTOCycleDepth operator^(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Overloading operators.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00188">WTO.h:188</a></div></div>
818
864
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_afc8a2840e779e319aa4088cf7deecf54"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#afc8a2840e779e319aa4088cf7deecf54">SVF::CFBasicBlockGWTOComp::_type</a></div><div class="ttdeci">WtoCT _type</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00332">WTO.h:332</a></div></div>
819
865
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_af70d7a393f898a72153da55d87b3d739"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#af70d7a393f898a72153da55d87b3d739">SVF::WTOCycleDepth::operator&lt;=</a></div><div class="ttdeci">bool operator&lt;=(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Less than or Equal with other's depth.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00214">WTO.h:214</a></div></div>
820
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ac2fdb330a81c28cae01858952d237c7e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e">SVF::CFBasicBlockGWTO::headBegin</a></div><div class="ttdeci">NodeRefToWTOCycleMap::const_iterator headBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00535">WTO.h:535</a></div></div>
821
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a48c0b6643c481afb15d4c4f89d00eecb"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">SVF::CFBasicBlockNode::getOutEdges</a></div><div class="ttdeci">const CFBBEdgeSetTy &amp; getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00188">CFBasicBlockG.h:188</a></div></div>
866
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ac2fdb330a81c28cae01858952d237c7e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ac2fdb330a81c28cae01858952d237c7e">SVF::CFBasicBlockGWTO::headBegin</a></div><div class="ttdeci">NodeRefToWTOCycleMap::const_iterator headBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00536">WTO.h:536</a></div></div>
867
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_aa7084b799641d5413dd7d8c76cc2bd9e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aa7084b799641d5413dd7d8c76cc2bd9e">SVF::CFBasicBlockGWTO::TailBuilder::TailBuilder</a></div><div class="ttdeci">TailBuilder(CFBasicBlockGraph *graph, NodeRefToWTOCycleDepthPtr &amp;nodeToWTOCycleDepth, NodeRefSet &amp;tails, const CFBasicBlockNode *head, const CFBasicBlockGWTOCycleDepth &amp;headWTOCycleDepth)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00660">WTO.h:660</a></div></div>
868
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_a48c0b6643c481afb15d4c4f89d00eecb"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#a48c0b6643c481afb15d4c4f89d00eecb">SVF::CFBasicBlockNode::getOutEdges</a></div><div class="ttdeci">const CFBBEdgeSetTy &amp; getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00185">CFBasicBlockG.h:185</a></div></div>
822
869
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
823
870
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a2bfdd81b8742322d03c52c811ff742ce"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a2bfdd81b8742322d03c52c811ff742ce">SVF::WTOCycleDepth::begin</a></div><div class="ttdeci">Iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00117">WTO.h:117</a></div></div>
824
871
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ae4fd19b6216a43afdac4edae42f22a26"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ae4fd19b6216a43afdac4edae42f22a26">SVF::CFBasicBlockGWTO::CFBasicBlockNodes</a></div><div class="ttdeci">std::vector&lt; const CFBasicBlockNode * &gt; CFBasicBlockNodes</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00479">WTO.h:479</a></div></div>
825
872
  <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>
826
873
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_ae02e497f73b7217df31bc1bb86996132"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#ae02e497f73b7217df31bc1bb86996132">SVF::CFBasicBlockGWTOCycle::accept</a></div><div class="ttdeci">void accept(WTOVisitor *v) const override</div><div class="ttdoc">Accept a visitor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00421">WTO.h:421</a></div></div>
827
874
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_ae12f0780c76dce5bd24b9fb3f3e0815e"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#ae12f0780c76dce5bd24b9fb3f3e0815e">SVF::WTOCycleDepth::operator&gt;</a></div><div class="ttdeci">bool operator&gt;(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Greater than other's depth - this is inside other</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00226">WTO.h:226</a></div></div>
875
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_af60b932f1b5ffce5a249feb22d7da133"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#af60b932f1b5ffce5a249feb22d7da133">SVF::CFBasicBlockGWTO::CFBasicBlockGWTO</a></div><div class="ttdeci">CFBasicBlockGWTO(CFBasicBlockGraph *graph, const CFBasicBlockNode *entry)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00500">WTO.h:500</a></div></div>
828
876
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ac767b7bdc3ee6f7e73fc36fa2d1e2745"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ac767b7bdc3ee6f7e73fc36fa2d1e2745">SVF::CFBasicBlockGWTO::Iterator</a></div><div class="ttdeci">WTOCompRefList::const_iterator Iterator</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00484">WTO.h:484</a></div></div>
829
877
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a57a181856416fa5fe6b513c279a6c788"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a57a181856416fa5fe6b513c279a6c788">SVF::WTOCycleDepth::Iterator</a></div><div class="ttdeci">NodeRefList::const_iterator Iterator</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00087">WTO.h:87</a></div></div>
830
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a62021e77023442dc809f6441cd3692c5"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">SVF::CFBasicBlockGWTO::begin</a></div><div class="ttdeci">Iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00520">WTO.h:520</a></div></div>
878
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a62021e77023442dc809f6441cd3692c5"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a62021e77023442dc809f6441cd3692c5">SVF::CFBasicBlockGWTO::begin</a></div><div class="ttdeci">Iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00521">WTO.h:521</a></div></div>
831
879
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a84e542a2dc10c8d7e306b0134c66c02e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a84e542a2dc10c8d7e306b0134c66c02e">SVF::CFBasicBlockGWTO::_nodeToCDN</a></div><div class="ttdeci">NodeRefToCycleDepthNumber _nodeToCDN</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00492">WTO.h:492</a></div></div>
832
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_a3e28b1d60a731c51f6c9a12ddf4c8f20"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTONode &amp;node) override</div><div class="ttdoc">Visit WTO Node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00639">WTO.h:639</a></div></div>
880
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_a3e28b1d60a731c51f6c9a12ddf4c8f20"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a3e28b1d60a731c51f6c9a12ddf4c8f20">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTONode &amp;node) override</div><div class="ttdoc">Visit WTO Node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00640">WTO.h:640</a></div></div>
833
881
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a44e36899d26981ff69557501ff8ff2ca"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a44e36899d26981ff69557501ff8ff2ca">SVF::WTOCycleDepth::push_back</a></div><div class="ttdeci">void push_back(NodeRef head)</div><div class="ttdoc">Add a cycle head to the end of the head list.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00112">WTO.h:112</a></div></div>
834
882
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ac63d14c8e4957217f71f507d05f3ec5a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ac63d14c8e4957217f71f507d05f3ec5a">SVF::CFBasicBlockGWTO::NodeRefToWTOCycleDepthPtr</a></div><div class="ttdeci">Map&lt; const CFBasicBlockNode *, CFBasicBlockGWTOCycleDepthPtr &gt; NodeRefToWTOCycleDepthPtr</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00481">WTO.h:481</a></div></div>
835
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a0a06c8bb53552030d11398955eae665c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">SVF::CFBasicBlockGWTO::TailBuilder::_nodeToWTOCycleDepth</a></div><div class="ttdeci">NodeRefToWTOCycleDepthPtr &amp; _nodeToWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00654">WTO.h:654</a></div></div>
836
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a47b0a759cac2b4264b8c01dbe9f1c63f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">SVF::CFBasicBlockGWTO::getWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; getWTOCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the wto-cycle-depth of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00554">WTO.h:554</a></div></div>
883
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a0a06c8bb53552030d11398955eae665c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0a06c8bb53552030d11398955eae665c">SVF::CFBasicBlockGWTO::TailBuilder::_nodeToWTOCycleDepth</a></div><div class="ttdeci">NodeRefToWTOCycleDepthPtr &amp; _nodeToWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00655">WTO.h:655</a></div></div>
884
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a47b0a759cac2b4264b8c01dbe9f1c63f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a47b0a759cac2b4264b8c01dbe9f1c63f">SVF::CFBasicBlockGWTO::getWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; getWTOCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the wto-cycle-depth of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00555">WTO.h:555</a></div></div>
837
885
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_ada537f89b6cc8d5d2cb5064e2c5b1b0d"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#ada537f89b6cc8d5d2cb5064e2c5b1b0d">SVF::WTOCycleDepth::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const WTOCycleDepth &amp;CFBasicBlockGWTO)</div><div class="ttdoc">Dump into CMD.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00238">WTO.h:238</a></div></div>
838
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a0efb4902bc6933e28b042edf6fc3f94c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">SVF::CFBasicBlockGWTO::TailBuilder::getWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; getWTOCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the wto-cycle-depth of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00687">WTO.h:687</a></div></div>
886
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a0efb4902bc6933e28b042edf6fc3f94c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a0efb4902bc6933e28b042edf6fc3f94c">SVF::CFBasicBlockGWTO::TailBuilder::getWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; getWTOCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the wto-cycle-depth of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00701">WTO.h:701</a></div></div>
839
887
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a7f3412aaf5948741e4c5cdbaff728101"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a7f3412aaf5948741e4c5cdbaff728101">SVF::WTOCycleDepth::WTOCycleDepth</a></div><div class="ttdeci">WTOCycleDepth()=default</div><div class="ttdoc">Default Constructor.</div></div>
840
888
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a1e6c7cb2b79de62cbad8d29980d5cf38"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a1e6c7cb2b79de62cbad8d29980d5cf38">SVF::CFBasicBlockGWTO::WTOCompRefList</a></div><div class="ttdeci">std::list&lt; const CFBasicBlockGWTOComp * &gt; WTOCompRefList</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00472">WTO.h:472</a></div></div>
841
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a0f3ba7dd8271cf960bba22a4dc38d02c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">SVF::CFBasicBlockGWTO::getCDN</a></div><div class="ttdeci">CycleDepthNumber getCDN(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the cycle depth number of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00698">WTO.h:698</a></div></div>
889
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a0f3ba7dd8271cf960bba22a4dc38d02c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a0f3ba7dd8271cf960bba22a4dc38d02c">SVF::CFBasicBlockGWTO::getCDN</a></div><div class="ttdeci">CycleDepthNumber getCDN(const CFBasicBlockNode *n) const</div><div class="ttdoc">Get the cycle depth number of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00712">WTO.h:712</a></div></div>
842
890
  <div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
843
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_adc313cc9a42ae663f0c018da128b77f6"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::WTOCycleDepthBuilder</a></div><div class="ttdeci">WTOCycleDepthBuilder(NodeRefToWTOCycleDepthPtr &amp;nodeToWTOCycleDepth)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00621">WTO.h:621</a></div></div>
891
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_adc313cc9a42ae663f0c018da128b77f6"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#adc313cc9a42ae663f0c018da128b77f6">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::WTOCycleDepthBuilder</a></div><div class="ttdeci">WTOCycleDepthBuilder(NodeRefToWTOCycleDepthPtr &amp;nodeToWTOCycleDepth)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00622">WTO.h:622</a></div></div>
844
892
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ae675544cc2cfc61ef9e37c4f20fa6109"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ae675544cc2cfc61ef9e37c4f20fa6109">SVF::CFBasicBlockGWTO::NodeRefToCycleDepthNumber</a></div><div class="ttdeci">Map&lt; const CFBasicBlockNode *, CycleDepthNumber &gt; NodeRefToCycleDepthNumber</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00478">WTO.h:478</a></div></div>
845
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a770b4af75bb4400bcd2916acc52939e5"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a770b4af75bb4400bcd2916acc52939e5">SVF::CFBasicBlockGWTO::CFBasicBlockGWTO</a></div><div class="ttdeci">CFBasicBlockGWTO(const CFBasicBlockNode *entry)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00499">WTO.h:499</a></div></div>
846
893
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a6f04a2b3e141e0b4df24ec6cfdf79532"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a6f04a2b3e141e0b4df24ec6cfdf79532">SVF::CFBasicBlockGWTO::_num</a></div><div class="ttdeci">CycleDepthNumber _num</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00493">WTO.h:493</a></div></div>
847
894
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ab9fa2e63665b25c8fb771e92dc9b19dc"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ab9fa2e63665b25c8fb771e92dc9b19dc">SVF::CFBasicBlockGWTO::_headToCycle</a></div><div class="ttdeci">NodeRefToWTOCycleMap _headToCycle</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00489">WTO.h:489</a></div></div>
848
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a27e3f03587ce871f41853e3be2537209"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">SVF::CFBasicBlockGWTO::TailBuilder::_headWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; _headWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00652">WTO.h:652</a></div></div>
849
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_afd0400cf19450143fa53b3a017e8a3cd"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd">SVF::CFBasicBlockGWTO::accept</a></div><div class="ttdeci">void accept(WTOVisitor *v)</div><div class="ttdoc">Accept the given visitor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00569">WTO.h:569</a></div></div>
850
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">SVF::CFBasicBlockGWTO::TailBuilder</a></div><div class="ttdoc">Visitor to build the tails of each head/loop.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00648">WTO.h:648</a></div></div>
895
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a27e3f03587ce871f41853e3be2537209"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a27e3f03587ce871f41853e3be2537209">SVF::CFBasicBlockGWTO::TailBuilder::_headWTOCycleDepth</a></div><div class="ttdeci">const CFBasicBlockGWTOCycleDepth &amp; _headWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00653">WTO.h:653</a></div></div>
896
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_afd0400cf19450143fa53b3a017e8a3cd"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#afd0400cf19450143fa53b3a017e8a3cd">SVF::CFBasicBlockGWTO::accept</a></div><div class="ttdeci">void accept(WTOVisitor *v)</div><div class="ttdoc">Accept the given visitor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00570">WTO.h:570</a></div></div>
897
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html">SVF::CFBasicBlockGWTO::TailBuilder</a></div><div class="ttdoc">Visitor to build the tails of each head/loop.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00649">WTO.h:649</a></div></div>
851
898
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_a1dbbc3e09c213cf6e8511832b1fa03b6"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#a1dbbc3e09c213cf6e8511832b1fa03b6">SVF::CFBasicBlockGWTOCycle::CFBasicBlockGWTOCycle</a></div><div class="ttdeci">CFBasicBlockGWTOCycle(const CFBasicBlockNode *head, WtoComponentRefList components)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00401">WTO.h:401</a></div></div>
852
899
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_acce909c4c082749affec7b0d3ceb394a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#acce909c4c082749affec7b0d3ceb394a">SVF::CFBasicBlockGWTOCycle::classof</a></div><div class="ttdeci">static bool classof(const CFBasicBlockGWTOCycle *)</div><div class="ttdoc">ClassOf.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00428">WTO.h:428</a></div></div>
853
900
  <div class="ttc" id="aSVFType_8h_html"><div class="ttname"><a href="SVFType_8h.html">SVFType.h</a></div></div>
854
901
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_add361ba0493a8fc9e9b08a4076a8e171"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#add361ba0493a8fc9e9b08a4076a8e171">SVF::CFBasicBlockGWTO::_components</a></div><div class="ttdeci">WTOCompRefList _components</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00487">WTO.h:487</a></div></div>
855
902
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html">SVF::WTOCycleDepth</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00083">WTO.h:83</a></div></div>
856
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a01822119935bdbe665743b13b4f2380e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">SVF::CFBasicBlockGWTO::newCycle</a></div><div class="ttdeci">const CFBasicBlockGWTOCycle * newCycle(const CFBasicBlockNode *node, const WTOCompRefList &amp;partition)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00743">WTO.h:743</a></div></div>
903
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a01822119935bdbe665743b13b4f2380e"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a01822119935bdbe665743b13b4f2380e">SVF::CFBasicBlockGWTO::newCycle</a></div><div class="ttdeci">const CFBasicBlockGWTOCycle * newCycle(const CFBasicBlockNode *node, const WTOCompRefList &amp;partition)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00757">WTO.h:757</a></div></div>
857
904
  <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>
858
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ade2b2aa77bba3781ab921d5c36eb881b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b">SVF::CFBasicBlockGWTO::isHead</a></div><div class="ttdeci">bool isHead(const CFBasicBlockNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00530">WTO.h:530</a></div></div>
905
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ade2b2aa77bba3781ab921d5c36eb881b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ade2b2aa77bba3781ab921d5c36eb881b">SVF::CFBasicBlockGWTO::isHead</a></div><div class="ttdeci">bool isHead(const CFBasicBlockNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00531">WTO.h:531</a></div></div>
859
906
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a4041183a3671e35c6b0723e76a34a4f3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a4041183a3671e35c6b0723e76a34a4f3">SVF::CFBasicBlockGWTO::operator=</a></div><div class="ttdeci">CFBasicBlockGWTO &amp; operator=(const CFBasicBlockGWTO &amp;other)=default</div></div>
860
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_acf93107c39ff71f30c678edd38ec21ad"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::_nodeToWTOCycleDepth</a></div><div class="ttdeci">NodeRefToWTOCycleDepthPtr &amp; _nodeToWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00618">WTO.h:618</a></div></div>
907
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_acf93107c39ff71f30c678edd38ec21ad"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#acf93107c39ff71f30c678edd38ec21ad">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::_nodeToWTOCycleDepth</a></div><div class="ttdeci">NodeRefToWTOCycleDepthPtr &amp; _nodeToWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00619">WTO.h:619</a></div></div>
861
908
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a0ddb4d1f31175afee6d2a57e312f783c"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a0ddb4d1f31175afee6d2a57e312f783c">SVF::CFBasicBlockGWTOComp::CFBasicBlockGWTOComp</a></div><div class="ttdeci">CFBasicBlockGWTOComp(WtoCT k)</div><div class="ttdoc">Default Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00296">WTO.h:296</a></div></div>
909
+ <div class="ttc" id="aclassSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00385">ICFGNode.h:385</a></div></div>
862
910
  <div class="ttc" id="aclassSVF_1_1WTOVisitor_html_aabdd2c91e25335bee3b45ead13e95189"><div class="ttname"><a href="classSVF_1_1WTOVisitor.html#aabdd2c91e25335bee3b45ead13e95189">SVF::WTOVisitor::operator=</a></div><div class="ttdeci">WTOVisitor &amp; operator=(const WTOVisitor &amp;) noexcept=default</div><div class="ttdoc">Default Copy Operator=.</div></div>
863
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad9665cea2ec92371ecab7e86f7ac2923"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">SVF::CFBasicBlockGWTO::push</a></div><div class="ttdeci">void push(const CFBasicBlockNode *n)</div><div class="ttdoc">Push a node on the stack.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00731">WTO.h:731</a></div></div>
911
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad9665cea2ec92371ecab7e86f7ac2923"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad9665cea2ec92371ecab7e86f7ac2923">SVF::CFBasicBlockGWTO::push</a></div><div class="ttdeci">void push(const CFBasicBlockNode *n)</div><div class="ttdoc">Push a node on the stack.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00745">WTO.h:745</a></div></div>
864
912
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a83d5f4a0d2c4efc9840d30f1a1c3b300"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a83d5f4a0d2c4efc9840d30f1a1c3b300">SVF::CFBasicBlockGWTOComp::WtoCT</a></div><div class="ttdeci">WtoCT</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00289">WTO.h:289</a></div></div>
865
913
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a2c032aada23502c3e71921e338f0db9f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a2c032aada23502c3e71921e338f0db9f">SVF::CFBasicBlockGWTONode::_node</a></div><div class="ttdeci">const CFBasicBlockNode * _node</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00343">WTO.h:343</a></div></div>
866
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a646f67339a7751f0e10ea42143e6894d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d">SVF::CFBasicBlockGWTO::inNodeToCycleDepth</a></div><div class="ttdeci">bool inNodeToCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Whether the given node is in the node to cycle getCDN.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00562">WTO.h:562</a></div></div>
867
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder</a></div><div class="ttdoc">Visitor to build the WTO cycle getCDN of each node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00613">WTO.h:613</a></div></div>
914
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a646f67339a7751f0e10ea42143e6894d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a646f67339a7751f0e10ea42143e6894d">SVF::CFBasicBlockGWTO::inNodeToCycleDepth</a></div><div class="ttdeci">bool inNodeToCycleDepth(const CFBasicBlockNode *n) const</div><div class="ttdoc">Whether the given node is in the node to cycle getCDN.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00563">WTO.h:563</a></div></div>
915
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder</a></div><div class="ttdoc">Visitor to build the WTO cycle getCDN of each node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00614">WTO.h:614</a></div></div>
868
916
  <div class="ttc" id="aCFBasicBlockG_8h_html"><div class="ttname"><a href="CFBasicBlockG_8h.html">CFBasicBlockG.h</a></div></div>
869
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a8daebe6f986aa1ab5e73368f69ea49e1"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1">SVF::CFBasicBlockGWTO::TailBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTOCycle &amp;cycle) override</div><div class="ttdoc">Visit WTO Cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00664">WTO.h:664</a></div></div>
917
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a8daebe6f986aa1ab5e73368f69ea49e1"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a8daebe6f986aa1ab5e73368f69ea49e1">SVF::CFBasicBlockGWTO::TailBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTOCycle &amp;cycle) override</div><div class="ttdoc">Visit WTO Cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00666">WTO.h:666</a></div></div>
870
918
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_aa4902464dbcfdf6d961050ebfe7b3c88"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#aa4902464dbcfdf6d961050ebfe7b3c88">SVF::CFBasicBlockGWTOCycle::begin</a></div><div class="ttdeci">Iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00410">WTO.h:410</a></div></div>
871
919
  <div class="ttc" id="aclassSVF_1_1WTOVisitor_html_af970a9f973fb8fbf6640a5bde15a8a40"><div class="ttname"><a href="classSVF_1_1WTOVisitor.html#af970a9f973fb8fbf6640a5bde15a8a40">SVF::WTOVisitor::~WTOVisitor</a></div><div class="ttdeci">virtual ~WTOVisitor()=default</div><div class="ttdoc">Default Destructor.</div></div>
872
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a6328b869dd664d4eca8e13c4dae3703b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">SVF::CFBasicBlockGWTO::TailBuilder::_tails</a></div><div class="ttdeci">NodeRefSet &amp; _tails</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00651">WTO.h:651</a></div></div>
920
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a6328b869dd664d4eca8e13c4dae3703b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6328b869dd664d4eca8e13c4dae3703b">SVF::CFBasicBlockGWTO::TailBuilder::_tails</a></div><div class="ttdeci">NodeRefSet &amp; _tails</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00652">WTO.h:652</a></div></div>
873
921
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_a0406854fb89bcb7cabe2a83344b8f1f3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#a0406854fb89bcb7cabe2a83344b8f1f3">SVF::CFBasicBlockGWTOCycle::toString</a></div><div class="ttdeci">std::string toString() const override</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00439">WTO.h:439</a></div></div>
922
+ <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#l00367">CFBasicBlockG.h:367</a></div></div>
874
923
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a2d4103fde1e02e8ba88c375d33a1dbad"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a2d4103fde1e02e8ba88c375d33a1dbad">SVF::CFBasicBlockGWTOComp::toString</a></div><div class="ttdeci">virtual std::string toString() const =0</div></div>
875
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a50fa3b82172788c5e963d723b27900ba"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">SVF::CFBasicBlockGWTO::buildNodeToWTOCycleDepth</a></div><div class="ttdeci">void buildNodeToWTOCycleDepth()</div><div class="ttdoc">Build the node to WTO cycle depth table.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00819">WTO.h:819</a></div></div>
924
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a50fa3b82172788c5e963d723b27900ba"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a50fa3b82172788c5e963d723b27900ba">SVF::CFBasicBlockGWTO::buildNodeToWTOCycleDepth</a></div><div class="ttdeci">void buildNodeToWTOCycleDepth()</div><div class="ttdoc">Build the node to WTO cycle depth table.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00865">WTO.h:865</a></div></div>
925
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockNode_html_afdad57a83c392a8b14b838ecb58f9ff7"><div class="ttname"><a href="classSVF_1_1CFBasicBlockNode.html#afdad57a83c392a8b14b838ecb58f9ff7">SVF::CFBasicBlockNode::getICFGNodes</a></div><div class="ttdeci">const std::vector&lt; const ICFGNode * &gt; &amp; getICFGNodes() const</div><div class="ttdef"><b>Definition:</b> <a href="CFBasicBlockG_8h_source.html#l00144">CFBasicBlockG.h:144</a></div></div>
876
926
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ac70fb325200079c4ffee90e1666a3694"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ac70fb325200079c4ffee90e1666a3694">SVF::CFBasicBlockGWTO::_allComponents</a></div><div class="ttdeci">WTOCompRefSet _allComponents</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00488">WTO.h:488</a></div></div>
877
927
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_abb5b72dbfa6f00bf952f1b71deb48598"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#abb5b72dbfa6f00bf952f1b71deb48598">SVF::CFBasicBlockGWTO::_headToTails</a></div><div class="ttdeci">NodeRefToNodeRefSetMap _headToTails</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00490">WTO.h:490</a></div></div>
878
928
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a06da59237001e5b4436eae7bf7dda429"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a06da59237001e5b4436eae7bf7dda429">SVF::CFBasicBlockGWTONode::CFBasicBlockGWTONode</a></div><div class="ttdeci">CFBasicBlockGWTONode(const CFBasicBlockNode *node)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00347">WTO.h:347</a></div></div>
879
929
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_a1a47343251d77e859dcae8aad05901da"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#a1a47343251d77e859dcae8aad05901da">SVF::CFBasicBlockGWTOCycle::_head</a></div><div class="ttdeci">const CFBasicBlockNode * _head</div><div class="ttdoc">Head of the cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00394">WTO.h:394</a></div></div>
880
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a6b6c7f89989b77a25b2f464f4450e879"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879">SVF::CFBasicBlockGWTO::TailBuilder::visit</a></div><div class="ttdeci">virtual void visit(const CFBasicBlockGWTONode &amp;node) override</div><div class="ttdoc">Visit WTO Node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00672">WTO.h:672</a></div></div>
930
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a6b6c7f89989b77a25b2f464f4450e879"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a6b6c7f89989b77a25b2f464f4450e879">SVF::CFBasicBlockGWTO::TailBuilder::visit</a></div><div class="ttdeci">virtual void visit(const CFBasicBlockGWTONode &amp;node) override</div><div class="ttdoc">Visit WTO Node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00674">WTO.h:674</a></div></div>
931
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_aeb1a15b36d109ea3c286a73af5f08777"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#aeb1a15b36d109ea3c286a73af5f08777">SVF::CFBasicBlockGWTO::TailBuilder::_graph</a></div><div class="ttdeci">CFBasicBlockGraph * _graph</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00656">WTO.h:656</a></div></div>
881
932
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a97fb5b5dff4b1b08ee6fb09876630303"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a97fb5b5dff4b1b08ee6fb09876630303">SVF::CFBasicBlockGWTO::_stack</a></div><div class="ttdeci">CFBasicBlockNodes _stack</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00494">WTO.h:494</a></div></div>
882
933
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a5b614494716dd565c0af2b7e8110f8d0"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a5b614494716dd565c0af2b7e8110f8d0">SVF::CFBasicBlockGWTONode::toString</a></div><div class="ttdeci">std::string toString() const override</div><div class="ttdoc">Convert the node to string.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00362">WTO.h:362</a></div></div>
883
934
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html">SVF::CFBasicBlockGWTO</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00464">WTO.h:464</a></div></div>
884
935
  <div class="ttc" id="aclassSVF_1_1WTOVisitor_html_aa338935535bb5c855224aa01d624f9d8"><div class="ttname"><a href="classSVF_1_1WTOVisitor.html#aa338935535bb5c855224aa01d624f9d8">SVF::WTOVisitor::visit</a></div><div class="ttdeci">virtual void visit(const CFBasicBlockGWTONode &amp;)=0</div><div class="ttdoc">Visit WTO Node.</div></div>
885
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a822077820c188463603f8968c4535a60"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60">SVF::CFBasicBlockGWTO::headEnd</a></div><div class="ttdeci">NodeRefToWTOCycleMap::const_iterator headEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00540">WTO.h:540</a></div></div>
936
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a822077820c188463603f8968c4535a60"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a822077820c188463603f8968c4535a60">SVF::CFBasicBlockGWTO::headEnd</a></div><div class="ttdeci">NodeRefToWTOCycleMap::const_iterator headEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00541">WTO.h:541</a></div></div>
886
937
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a2d94a3f6bd93d6b3806ec03de3eb1576"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a2d94a3f6bd93d6b3806ec03de3eb1576">SVF::CFBasicBlockGWTONode::classof</a></div><div class="ttdeci">static bool classof(const CFBasicBlockGWTONode *)</div><div class="ttdoc">ClassOf.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00369">WTO.h:369</a></div></div>
887
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_ae846777ace039ab74fad15ee52884f44"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">SVF::CFBasicBlockGWTO::TailBuilder::_head</a></div><div class="ttdeci">const CFBasicBlockNode * _head</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00653">WTO.h:653</a></div></div>
938
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_ae846777ace039ab74fad15ee52884f44"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#ae846777ace039ab74fad15ee52884f44">SVF::CFBasicBlockGWTO::TailBuilder::_head</a></div><div class="ttdeci">const CFBasicBlockNode * _head</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00654">WTO.h:654</a></div></div>
888
939
  <div class="ttc" id="aclassSVF_1_1WTOVisitor_html_a78a0b2d508d8591126203f8b5d6e22cd"><div class="ttname"><a href="classSVF_1_1WTOVisitor.html#a78a0b2d508d8591126203f8b5d6e22cd">SVF::WTOVisitor::WTOVisitor</a></div><div class="ttdeci">WTOVisitor()=default</div><div class="ttdoc">Default Constructor.</div></div>
889
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a371c7416c88df3c0b70addf9b88b305a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">SVF::CFBasicBlockGWTO::build_tails</a></div><div class="ttdeci">virtual void build_tails()</div><div class="ttdoc">Build the tails for each cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00829">WTO.h:829</a></div></div>
940
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a371c7416c88df3c0b70addf9b88b305a"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a371c7416c88df3c0b70addf9b88b305a">SVF::CFBasicBlockGWTO::build_tails</a></div><div class="ttdeci">virtual void build_tails()</div><div class="ttdoc">Build the tails for each cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00875">WTO.h:875</a></div></div>
890
941
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a83d5f4a0d2c4efc9840d30f1a1c3b300aca33b5832e3fca1c5966ecc4ce695f96"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a83d5f4a0d2c4efc9840d30f1a1c3b300aca33b5832e3fca1c5966ecc4ce695f96">SVF::CFBasicBlockGWTOComp::Cycle</a></div><div class="ttdeci">@ Cycle</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00291">WTO.h:291</a></div></div>
891
942
  <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>
892
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a622b439ca78cc523abe308b26daa337b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b">SVF::CFBasicBlockGWTO::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const CFBasicBlockGWTO &amp;CFBasicBlockGWTO)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00595">WTO.h:595</a></div></div>
943
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a622b439ca78cc523abe308b26daa337b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a622b439ca78cc523abe308b26daa337b">SVF::CFBasicBlockGWTO::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const CFBasicBlockGWTO &amp;CFBasicBlockGWTO)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00596">WTO.h:596</a></div></div>
893
944
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_ac1093f863214966bd24e3696d276856f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#ac1093f863214966bd24e3696d276856f">SVF::CFBasicBlockGWTOCycle::_components</a></div><div class="ttdeci">WtoComponentRefList _components</div><div class="ttdoc">List of components.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00397">WTO.h:397</a></div></div>
894
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a6cc2cb7b203e16b9cc8f5e121f39bd9f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">SVF::CFBasicBlockGWTO::build</a></div><div class="ttdeci">void build(const CFBasicBlockNode *entry)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00603">WTO.h:603</a></div></div>
895
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad8d9315b18c019bada948380f8a4bb35"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">SVF::CFBasicBlockGWTO::pop</a></div><div class="ttdeci">const CFBasicBlockNode * pop()</div><div class="ttdoc">Pop a node from the stack.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00722">WTO.h:722</a></div></div>
945
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a6cc2cb7b203e16b9cc8f5e121f39bd9f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a6cc2cb7b203e16b9cc8f5e121f39bd9f">SVF::CFBasicBlockGWTO::build</a></div><div class="ttdeci">void build(const CFBasicBlockNode *entry)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00604">WTO.h:604</a></div></div>
946
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad8d9315b18c019bada948380f8a4bb35"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad8d9315b18c019bada948380f8a4bb35">SVF::CFBasicBlockGWTO::pop</a></div><div class="ttdeci">const CFBasicBlockNode * pop()</div><div class="ttdoc">Pop a node from the stack.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00736">WTO.h:736</a></div></div>
896
947
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a9d23c459bac6e9f3b64ec0233065ba61"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a9d23c459bac6e9f3b64ec0233065ba61">SVF::WTOCycleDepth::~WTOCycleDepth</a></div><div class="ttdeci">~WTOCycleDepth()=default</div><div class="ttdoc">Default Destructor.</div></div>
897
948
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a0874603e54060f9309aea39c7655d28e"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a0874603e54060f9309aea39c7655d28e">SVF::WTOCycleDepth::compare</a></div><div class="ttdeci">int compare(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Compare the given wto-cycle-depth.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00148">WTO.h:148</a></div></div>
898
949
  <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#l00111">CFBasicBlockG.h:111</a></div></div>
899
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_a0f190d9a736d0d0aa6621aa6984bb962"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTOCycle &amp;cycle) override</div><div class="ttdoc">Visit WTO Cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00625">WTO.h:625</a></div></div>
950
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_a0f190d9a736d0d0aa6621aa6984bb962"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#a0f190d9a736d0d0aa6621aa6984bb962">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::visit</a></div><div class="ttdeci">void visit(const CFBasicBlockGWTOCycle &amp;cycle) override</div><div class="ttdoc">Visit WTO Cycle.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00626">WTO.h:626</a></div></div>
900
951
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html">SVF::CFBasicBlockGWTOComp</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00285">WTO.h:285</a></div></div>
901
952
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_a68cc18d5e3e4be58467f4aa0806dcd59"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#a68cc18d5e3e4be58467f4aa0806dcd59">SVF::CFBasicBlockGWTOCycle::WtoComponentRefList</a></div><div class="ttdeci">std::list&lt; const CFBasicBlockGWTOComp * &gt; WtoComponentRefList</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00389">WTO.h:389</a></div></div>
902
- <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#l00140">CFBasicBlockG.h:140</a></div></div>
953
+ <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#l00138">CFBasicBlockG.h:138</a></div></div>
903
954
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html">SVF::CFBasicBlockGWTONode</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00340">WTO.h:340</a></div></div>
904
955
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a2e572490ff932b1efdc6bc86b5ea9558"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a2e572490ff932b1efdc6bc86b5ea9558">SVF::CFBasicBlockGWTONode::classof</a></div><div class="ttdeci">static bool classof(const CFBasicBlockGWTOComp *c)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00374">WTO.h:374</a></div></div>
905
956
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a906097ba3f14728a1e3e0f7f8d8218a6"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a906097ba3f14728a1e3e0f7f8d8218a6">SVF::CFBasicBlockGWTOComp::getKind</a></div><div class="ttdeci">WtoCT getKind() const</div><div class="ttdoc">Return the WTO Kind (node or cycle)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00317">WTO.h:317</a></div></div>
906
957
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a3c454131bb83a95d23070d0d732e4e5f"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a3c454131bb83a95d23070d0d732e4e5f">SVF::CFBasicBlockGWTO::NodeRefToWTOCycleMap</a></div><div class="ttdeci">Map&lt; const CFBasicBlockNode *, const CFBasicBlockGWTOCycle * &gt; NodeRefToWTOCycleMap</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00474">WTO.h:474</a></div></div>
907
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_ad2be261b3cccfd58d83ad1d6659ef639"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::_wtoCycleDepth</a></div><div class="ttdeci">CFBasicBlockGWTOCycleDepthPtr _wtoCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00617">WTO.h:617</a></div></div>
908
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1TailBuilder_html_a44cc18a45611b6094a9c41251668a4a8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html#a44cc18a45611b6094a9c41251668a4a8">SVF::CFBasicBlockGWTO::TailBuilder::TailBuilder</a></div><div class="ttdeci">TailBuilder(NodeRefToWTOCycleDepthPtr &amp;nodeToWTOCycleDepth, NodeRefSet &amp;tails, const CFBasicBlockNode *head, const CFBasicBlockGWTOCycleDepth &amp;headWTOCycleDepth)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00658">WTO.h:658</a></div></div>
958
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder_html_ad2be261b3cccfd58d83ad1d6659ef639"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html#ad2be261b3cccfd58d83ad1d6659ef639">SVF::CFBasicBlockGWTO::WTOCycleDepthBuilder::_wtoCycleDepth</a></div><div class="ttdeci">CFBasicBlockGWTOCycleDepthPtr _wtoCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00618">WTO.h:618</a></div></div>
909
959
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_acc7a69f2e4d44bda34a84ed68667b803"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#acc7a69f2e4d44bda34a84ed68667b803">SVF::CFBasicBlockGWTO::CFBasicBlockGWTOCycleDepth</a></div><div class="ttdeci">WTOCycleDepth&lt; const CFBasicBlockNode * &gt; CFBasicBlockGWTOCycleDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00468">WTO.h:468</a></div></div>
910
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_acab6d0c92dc8e03a97cc78b060a624c4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">SVF::CFBasicBlockGWTO::newNode</a></div><div class="ttdeci">const CFBasicBlockGWTONode * newNode(const CFBasicBlockNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00736">WTO.h:736</a></div></div>
960
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_acab6d0c92dc8e03a97cc78b060a624c4"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#acab6d0c92dc8e03a97cc78b060a624c4">SVF::CFBasicBlockGWTO::newNode</a></div><div class="ttdeci">const CFBasicBlockGWTONode * newNode(const CFBasicBlockNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00750">WTO.h:750</a></div></div>
911
961
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a1cb3ad13956ab175c4c16bd9c856de47"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a1cb3ad13956ab175c4c16bd9c856de47">SVF::CFBasicBlockGWTO::CFBasicBlockGWTOCycleDepthPtr</a></div><div class="ttdeci">std::shared_ptr&lt; CFBasicBlockGWTOCycleDepth &gt; CFBasicBlockGWTOCycleDepthPtr</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00480">WTO.h:480</a></div></div>
912
962
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a39e8c68176dac40715f6b1595bca489b"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a39e8c68176dac40715f6b1595bca489b">SVF::WTOCycleDepth::NodeRefList</a></div><div class="ttdeci">std::vector&lt; NodeRef &gt; NodeRefList</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00086">WTO.h:86</a></div></div>
913
963
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_ab1c9fade2bcd6db9211ddee376b4f04c"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#ab1c9fade2bcd6db9211ddee376b4f04c">SVF::WTOCycleDepth::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Less than other's depth - other is inside this</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00208">WTO.h:208</a></div></div>
914
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a4fb40a0bed7cad99e9be5480455a6a71"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71">SVF::CFBasicBlockGWTO::getTails</a></div><div class="ttdeci">const NodeRefSet &amp; getTails(const CFBasicBlockNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00545">WTO.h:545</a></div></div>
915
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a49d0128828b44df0a8631dd193ed8898"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">SVF::CFBasicBlockGWTO::setCDN</a></div><div class="ttdeci">void setCDN(const CFBasicBlockNode *n, const CycleDepthNumber &amp;Depth)</div><div class="ttdoc">Set the cycle depth number of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00712">WTO.h:712</a></div></div>
964
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a4fb40a0bed7cad99e9be5480455a6a71"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71">SVF::CFBasicBlockGWTO::getTails</a></div><div class="ttdeci">const NodeRefSet &amp; getTails(const CFBasicBlockNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00546">WTO.h:546</a></div></div>
965
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a49d0128828b44df0a8631dd193ed8898"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a49d0128828b44df0a8631dd193ed8898">SVF::CFBasicBlockGWTO::setCDN</a></div><div class="ttdeci">void setCDN(const CFBasicBlockNode *n, const CycleDepthNumber &amp;Depth)</div><div class="ttdoc">Set the cycle depth number of the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00726">WTO.h:726</a></div></div>
916
966
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a8ebe4f04e2c73a441e58b2e0533a75a5"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a8ebe4f04e2c73a441e58b2e0533a75a5">SVF::CFBasicBlockGWTO::NodeRefToNodeRefSetMap</a></div><div class="ttdeci">Map&lt; const CFBasicBlockNode *, NodeRefSet &gt; NodeRefToNodeRefSetMap</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00475">WTO.h:475</a></div></div>
917
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a9dd4ed2f3347d529163a60e0386ea11d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">SVF::CFBasicBlockGWTO::component</a></div><div class="ttdeci">const CFBasicBlockGWTOCycle * component(const CFBasicBlockNode *node)</div><div class="ttdoc">Create the cycle component for the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00751">WTO.h:751</a></div></div>
967
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a9dd4ed2f3347d529163a60e0386ea11d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a9dd4ed2f3347d529163a60e0386ea11d">SVF::CFBasicBlockGWTO::component</a></div><div class="ttdeci">const CFBasicBlockGWTOCycle * component(const CFBasicBlockNode *node)</div><div class="ttdoc">Create the cycle component for the given node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00765">WTO.h:765</a></div></div>
918
968
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_acbe5ed1e3ea411cc87c2fafa16f4c38f"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#acbe5ed1e3ea411cc87c2fafa16f4c38f">SVF::WTOCycleDepth::_heads</a></div><div class="ttdeci">NodeRefList _heads</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00090">WTO.h:90</a></div></div>
919
969
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a943e6586b5b2c8343437a914ddb1a1b6"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a943e6586b5b2c8343437a914ddb1a1b6">SVF::WTOCycleDepth::end</a></div><div class="ttdeci">Iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00122">WTO.h:122</a></div></div>
970
+ <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#l00349">CFBasicBlockG.h:349</a></div></div>
920
971
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_abcf38d30d6739751c20ad612d26349a9"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#abcf38d30d6739751c20ad612d26349a9">SVF::CFBasicBlockGWTOComp::accept</a></div><div class="ttdeci">virtual void accept(WTOVisitor *) const =0</div><div class="ttdoc">Accept a visitor.</div></div>
921
972
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_a2668c86630ba496424411bad5fec9190"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#a2668c86630ba496424411bad5fec9190">SVF::CFBasicBlockGWTONode::accept</a></div><div class="ttdeci">void accept(WTOVisitor *v) const override</div><div class="ttdoc">Accept a visitor.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00356">WTO.h:356</a></div></div>
922
973
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_a10dc61999fc10f09921225f12129cade"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#a10dc61999fc10f09921225f12129cade">SVF::CFBasicBlockGWTOCycle::classof</a></div><div class="ttdeci">static bool classof(const CFBasicBlockGWTOComp *c)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00433">WTO.h:433</a></div></div>
923
974
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_a2a453341c33faac3e74bb54d8da6db18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#a2a453341c33faac3e74bb54d8da6db18">SVF::CFBasicBlockGWTO::WTOCompRefSet</a></div><div class="ttdeci">Set&lt; const CFBasicBlockGWTOComp * &gt; WTOCompRefSet</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00473">WTO.h:473</a></div></div>
924
975
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_ad64c8a219008ad37f9b9aa2904502292"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#ad64c8a219008ad37f9b9aa2904502292">SVF::WTOCycleDepth::operator&gt;=</a></div><div class="ttdeci">bool operator&gt;=(const WTOCycleDepth &amp;other) const</div><div class="ttdoc">Greater than or Equal with other's depth.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00232">WTO.h:232</a></div></div>
976
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad00addfd46be014c35a6ffbc9333d7f3"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad00addfd46be014c35a6ffbc9333d7f3">SVF::CFBasicBlockGWTO::_graph</a></div><div class="ttdeci">CFBasicBlockGraph * _graph</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00495">WTO.h:495</a></div></div>
925
977
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ada96b743fb0fd92f5f2c539130404187"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ada96b743fb0fd92f5f2c539130404187">SVF::CFBasicBlockGWTO::_nodeToDepth</a></div><div class="ttdeci">NodeRefToWTOCycleDepthPtr _nodeToDepth</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00491">WTO.h:491</a></div></div>
926
978
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_af4f9d44087dceb6c028abf585b5a6d5b"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4f9d44087dceb6c028abf585b5a6d5b">SVF::CFBasicBlockGWTOCycle::Iterator</a></div><div class="ttdeci">WtoComponentRefList::const_iterator Iterator</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00390">WTO.h:390</a></div></div>
927
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ae611a47e1f7c41dba63577a1435b56bd"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd">SVF::CFBasicBlockGWTO::~CFBasicBlockGWTO</a></div><div class="ttdeci">~CFBasicBlockGWTO()</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00512">WTO.h:512</a></div></div>
979
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ae611a47e1f7c41dba63577a1435b56bd"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ae611a47e1f7c41dba63577a1435b56bd">SVF::CFBasicBlockGWTO::~CFBasicBlockGWTO</a></div><div class="ttdeci">~CFBasicBlockGWTO()</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00513">WTO.h:513</a></div></div>
928
980
  <div class="ttc" id="aSVFValue_8h_html"><div class="ttname"><a href="SVFValue_8h.html">SVFValue.h</a></div></div>
929
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ab4049975aad5b59c31bb5501ff7465c8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">SVF::CFBasicBlockGWTO::CFBasicBlockGWTO</a></div><div class="ttdeci">CFBasicBlockGWTO()</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00497">WTO.h:497</a></div></div>
981
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ab4049975aad5b59c31bb5501ff7465c8"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ab4049975aad5b59c31bb5501ff7465c8">SVF::CFBasicBlockGWTO::CFBasicBlockGWTO</a></div><div class="ttdeci">CFBasicBlockGWTO()</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00498">WTO.h:498</a></div></div>
930
982
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTONode_html_ab0b71fd36e24dcc7ff4f5489a5ee1444"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTONode.html#ab0b71fd36e24dcc7ff4f5489a5ee1444">SVF::CFBasicBlockGWTONode::node</a></div><div class="ttdeci">const CFBasicBlockNode * node() const</div><div class="ttdoc">Return the graph node.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00350">WTO.h:350</a></div></div>
931
983
  <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>
932
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad915ed46be9ae3dbd7ee8227c0dee40d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">SVF::CFBasicBlockGWTO::end</a></div><div class="ttdeci">Iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00525">WTO.h:525</a></div></div>
984
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_ad915ed46be9ae3dbd7ee8227c0dee40d"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#ad915ed46be9ae3dbd7ee8227c0dee40d">SVF::CFBasicBlockGWTO::end</a></div><div class="ttdeci">Iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00526">WTO.h:526</a></div></div>
933
985
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOCycle_html_af4205c03d5bbb94d52fe449a97d2b881"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOCycle.html#af4205c03d5bbb94d52fe449a97d2b881">SVF::CFBasicBlockGWTOCycle::end</a></div><div class="ttdeci">Iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00415">WTO.h:415</a></div></div>
934
986
  <div class="ttc" id="aclassSVF_1_1WTOVisitor_html"><div class="ttname"><a href="classSVF_1_1WTOVisitor.html">SVF::WTOVisitor</a></div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00250">WTO.h:250</a></div></div>
935
987
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a3f56958f07188cceffffbc3659f13e18"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a3f56958f07188cceffffbc3659f13e18">SVF::CFBasicBlockGWTOComp::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const CFBasicBlockGWTOComp &amp;CFBasicBlockGWTO)</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00324">WTO.h:324</a></div></div>
936
988
  <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>
937
989
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a94c9c81ebe4df428c163f999284b6d98"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a94c9c81ebe4df428c163f999284b6d98">SVF::WTOCycleDepth::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Convert the wto-cycle-depth to a string.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00128">WTO.h:128</a></div></div>
938
990
  <div class="ttc" id="aclassSVF_1_1WTOCycleDepth_html_a5ab108a0e1be3f33a3c1ffa2beaedf0e"><div class="ttname"><a href="classSVF_1_1WTOCycleDepth.html#a5ab108a0e1be3f33a3c1ffa2beaedf0e">SVF::WTOCycleDepth::operator=</a></div><div class="ttdeci">WTOCycleDepth &amp; operator=(const WTOCycleDepth &amp;)=default</div><div class="ttdoc">Default Copy Operator=.</div></div>
939
- <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_af7351af6e43b593b9915ed2a2d0d16fb"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">SVF::CFBasicBlockGWTO::visit</a></div><div class="ttdeci">virtual CycleDepthNumber visit(const CFBasicBlockNode *node, WTOCompRefList &amp;partition)</div><div class="ttdoc">Main algorithm to build WTO.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00768">WTO.h:768</a></div></div>
991
+ <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTO_html_af7351af6e43b593b9915ed2a2d0d16fb"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTO.html#af7351af6e43b593b9915ed2a2d0d16fb">SVF::CFBasicBlockGWTO::visit</a></div><div class="ttdeci">virtual CycleDepthNumber visit(const CFBasicBlockNode *node, WTOCompRefList &amp;partition)</div><div class="ttdoc">Main algorithm to build WTO.</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00793">WTO.h:793</a></div></div>
940
992
  <div class="ttc" id="aclassSVF_1_1CFBasicBlockGWTOComp_html_a83d5f4a0d2c4efc9840d30f1a1c3b300aaf4f363db1d83aea6168413b9530b392"><div class="ttname"><a href="classSVF_1_1CFBasicBlockGWTOComp.html#a83d5f4a0d2c4efc9840d30f1a1c3b300aaf4f363db1d83aea6168413b9530b392">SVF::CFBasicBlockGWTOComp::Node</a></div><div class="ttdeci">@ Node</div><div class="ttdef"><b>Definition:</b> <a href="WTO_8h_source.html#l00291">WTO.h:291</a></div></div>
941
993
  <!-- start footer part -->
942
994
  <hr class="footer"/><address class="footer"><small>