svf-tools 1.0.837 → 1.0.839

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/Andersen_8cpp_source.html +20 -16
  3. package/SVF-doxygen/html/Andersen_8h_source.html +2 -2
  4. package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/CFLBase_8cpp_source.html +4 -4
  7. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp.html +86 -0
  9. package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +195 -0
  10. package/SVF-doxygen/html/CFLSVFGBuilder_8h.html +98 -0
  11. package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +148 -0
  12. package/SVF-doxygen/html/CFLVF_8cpp_source.html +4 -4
  13. package/SVF-doxygen/html/CFLVF_8h.html +1 -1
  14. package/SVF-doxygen/html/CFLVF_8h_source.html +5 -5
  15. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/ConsG_8cpp_source.html +3 -3
  17. package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/DDAPass_8cpp_source.html +9 -9
  19. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
  21. package/SVF-doxygen/html/DoubleFreeChecker_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/DoubleFreeChecker_8h_source.html +1 -1
  23. package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/FileChecker_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/FileChecker_8h_source.html +1 -1
  27. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +3 -3
  33. package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
  34. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/MemRegion_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/MemSSA_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/Options_8cpp_source.html +825 -892
  42. package/SVF-doxygen/html/Options_8h_source.html +275 -297
  43. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +12 -12
  45. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +170 -136
  46. package/SVF-doxygen/html/ProgSlice_8h_source.html +314 -298
  47. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +4 -4
  48. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +4 -4
  49. package/SVF-doxygen/html/SVFGOPT_8h_source.html +5 -5
  50. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/SVFG_8cpp_source.html +32 -32
  52. package/SVF-doxygen/html/SVFG_8h_source.html +446 -444
  53. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/SVFIR_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  56. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +2 -2
  59. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +246 -235
  60. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp.html +1 -0
  61. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +272 -266
  62. package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +75 -62
  63. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +261 -260
  64. package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +18 -18
  65. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
  67. package/SVF-doxygen/html/TCT_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  71. package/SVF-doxygen/html/WPAPass_8cpp_source.html +5 -5
  72. package/SVF-doxygen/html/Z3Expr_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/annotated.html +377 -376
  74. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  75. package/SVF-doxygen/html/classSVF_1_1Andersen.html +18 -14
  76. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +4 -4
  77. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  78. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +1 -1
  79. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +1 -1
  81. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  82. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +2 -2
  83. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +4 -4
  84. package/SVF-doxygen/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder-members.html +121 -0
  86. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +473 -0
  87. package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.png +0 -0
  88. package/SVF-doxygen/html/classSVF_1_1CFLVF-members.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1CFLVF.html +11 -11
  90. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
  91. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  92. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  93. package/SVF-doxygen/html/classSVF_1_1ConstraintNode.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
  96. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +9 -9
  97. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +6 -6
  100. package/SVF-doxygen/html/classSVF_1_1ExtAPI.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  102. package/SVF-doxygen/html/classSVF_1_1FileChecker.html +3 -3
  103. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +4 -4
  105. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  107. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +1 -1
  108. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +2 -2
  112. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +6 -6
  113. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  115. package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
  116. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
  118. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  119. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  120. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
  121. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +2 -2
  122. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  123. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  124. package/SVF-doxygen/html/classSVF_1_1Options-members.html +64 -73
  125. package/SVF-doxygen/html/classSVF_1_1Options.html +128 -362
  126. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +12 -12
  128. package/SVF-doxygen/html/classSVF_1_1ProgSlice-members.html +25 -22
  129. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +493 -366
  130. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1SVFG-members.html +182 -181
  132. package/SVF-doxygen/html/classSVF_1_1SVFG.html +326 -300
  133. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +6 -5
  134. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.png +0 -0
  135. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +11 -11
  136. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +2 -2
  137. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +7 -7
  139. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator-members.html +22 -19
  140. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +239 -160
  141. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder-members.html +11 -9
  142. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +348 -286
  143. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.png +0 -0
  144. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  145. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +263 -261
  146. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  148. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
  149. package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
  150. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  152. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +1 -1
  153. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1VFG.html +1 -1
  155. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  156. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  157. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +5 -5
  158. package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +1 -1
  159. package/SVF-doxygen/html/classes.html +95 -94
  160. package/SVF-doxygen/html/dir_1b8e404556d3e8597ae60437f0a084bf.html +2 -0
  161. package/SVF-doxygen/html/dir_8a9c8659eb68b9cbd3fead4690588a47.html +2 -0
  162. package/SVF-doxygen/html/files.html +6 -4
  163. package/SVF-doxygen/html/functions_b.html +7 -6
  164. package/SVF-doxygen/html/functions_c.html +38 -29
  165. package/SVF-doxygen/html/functions_d.html +0 -15
  166. package/SVF-doxygen/html/functions_f.html +9 -9
  167. package/SVF-doxygen/html/functions_func_b.html +3 -2
  168. package/SVF-doxygen/html/functions_func_c.html +29 -23
  169. package/SVF-doxygen/html/functions_func_g.html +14 -10
  170. package/SVF-doxygen/html/functions_func_r.html +6 -5
  171. package/SVF-doxygen/html/functions_func_s.html +20 -17
  172. package/SVF-doxygen/html/functions_func_~.html +3 -0
  173. package/SVF-doxygen/html/functions_g.html +10 -6
  174. package/SVF-doxygen/html/functions_m.html +4 -7
  175. package/SVF-doxygen/html/functions_n.html +6 -5
  176. package/SVF-doxygen/html/functions_p.html +15 -14
  177. package/SVF-doxygen/html/functions_r.html +10 -6
  178. package/SVF-doxygen/html/functions_rela_c.html +3 -0
  179. package/SVF-doxygen/html/functions_s.html +24 -21
  180. package/SVF-doxygen/html/functions_t.html +5 -11
  181. package/SVF-doxygen/html/functions_type_n.html +2 -1
  182. package/SVF-doxygen/html/functions_type_s.html +6 -1
  183. package/SVF-doxygen/html/functions_type_w.html +1 -0
  184. package/SVF-doxygen/html/functions_v.html +4 -6
  185. package/SVF-doxygen/html/functions_vars_d.html +0 -15
  186. package/SVF-doxygen/html/functions_vars_m.html +1 -4
  187. package/SVF-doxygen/html/functions_vars_p.html +3 -0
  188. package/SVF-doxygen/html/functions_vars_r.html +3 -0
  189. package/SVF-doxygen/html/functions_vars_s.html +2 -7
  190. package/SVF-doxygen/html/functions_vars_t.html +0 -6
  191. package/SVF-doxygen/html/functions_w.html +3 -2
  192. package/SVF-doxygen/html/functions_~.html +3 -0
  193. package/SVF-doxygen/html/hierarchy.html +2 -1
  194. package/SVF-doxygen/html/namespaceSVF.html +2 -0
  195. package/SVF-doxygen/html/search/all_10.js +207 -206
  196. package/SVF-doxygen/html/search/all_11.js +115 -114
  197. package/SVF-doxygen/html/search/all_12.js +335 -335
  198. package/SVF-doxygen/html/search/all_13.js +190 -192
  199. package/SVF-doxygen/html/search/all_14.js +67 -67
  200. package/SVF-doxygen/html/search/all_15.js +167 -167
  201. package/SVF-doxygen/html/search/all_16.js +63 -63
  202. package/SVF-doxygen/html/search/all_17.js +1 -1
  203. package/SVF-doxygen/html/search/all_18.js +1 -1
  204. package/SVF-doxygen/html/search/all_19.js +11 -11
  205. package/SVF-doxygen/html/search/all_1a.js +26 -25
  206. package/SVF-doxygen/html/search/all_2.js +2 -2
  207. package/SVF-doxygen/html/search/all_3.js +466 -462
  208. package/SVF-doxygen/html/search/all_4.js +230 -235
  209. package/SVF-doxygen/html/search/all_5.js +119 -119
  210. package/SVF-doxygen/html/search/all_6.js +226 -226
  211. package/SVF-doxygen/html/search/all_7.js +804 -803
  212. package/SVF-doxygen/html/search/all_9.js +3 -3
  213. package/SVF-doxygen/html/search/all_b.js +1 -1
  214. package/SVF-doxygen/html/search/all_c.js +1 -1
  215. package/SVF-doxygen/html/search/all_d.js +184 -185
  216. package/SVF-doxygen/html/search/all_e.js +207 -207
  217. package/SVF-doxygen/html/search/all_f.js +116 -116
  218. package/SVF-doxygen/html/search/classes_10.js +73 -73
  219. package/SVF-doxygen/html/search/classes_11.js +15 -15
  220. package/SVF-doxygen/html/search/classes_12.js +2 -2
  221. package/SVF-doxygen/html/search/classes_13.js +10 -10
  222. package/SVF-doxygen/html/search/classes_14.js +14 -14
  223. package/SVF-doxygen/html/search/classes_15.js +1 -1
  224. package/SVF-doxygen/html/search/classes_2.js +37 -36
  225. package/SVF-doxygen/html/search/classes_3.js +37 -37
  226. package/SVF-doxygen/html/search/classes_4.js +9 -9
  227. package/SVF-doxygen/html/search/classes_5.js +28 -28
  228. package/SVF-doxygen/html/search/classes_6.js +104 -104
  229. package/SVF-doxygen/html/search/classes_7.js +34 -34
  230. package/SVF-doxygen/html/search/classes_8.js +56 -56
  231. package/SVF-doxygen/html/search/classes_9.js +1 -1
  232. package/SVF-doxygen/html/search/classes_a.js +12 -12
  233. package/SVF-doxygen/html/search/classes_b.js +29 -29
  234. package/SVF-doxygen/html/search/classes_c.js +6 -6
  235. package/SVF-doxygen/html/search/classes_d.js +18 -18
  236. package/SVF-doxygen/html/search/classes_e.js +36 -36
  237. package/SVF-doxygen/html/search/classes_f.js +25 -25
  238. package/SVF-doxygen/html/search/defines_0.js +3 -3
  239. package/SVF-doxygen/html/search/defines_1.js +2 -2
  240. package/SVF-doxygen/html/search/defines_2.js +30 -30
  241. package/SVF-doxygen/html/search/defines_3.js +20 -20
  242. package/SVF-doxygen/html/search/defines_4.js +2 -2
  243. package/SVF-doxygen/html/search/defines_5.js +4 -4
  244. package/SVF-doxygen/html/search/defines_6.js +2 -2
  245. package/SVF-doxygen/html/search/defines_7.js +5 -5
  246. package/SVF-doxygen/html/search/defines_8.js +11 -11
  247. package/SVF-doxygen/html/search/defines_9.js +9 -9
  248. package/SVF-doxygen/html/search/defines_a.js +2 -2
  249. package/SVF-doxygen/html/search/defines_b.js +1 -1
  250. package/SVF-doxygen/html/search/defines_c.js +3 -3
  251. package/SVF-doxygen/html/search/defines_d.js +2 -2
  252. package/SVF-doxygen/html/search/defines_e.js +7 -7
  253. package/SVF-doxygen/html/search/defines_f.js +3 -3
  254. package/SVF-doxygen/html/search/enums_0.js +3 -3
  255. package/SVF-doxygen/html/search/enums_1.js +2 -2
  256. package/SVF-doxygen/html/search/enums_10.js +1 -1
  257. package/SVF-doxygen/html/search/enums_11.js +1 -1
  258. package/SVF-doxygen/html/search/enums_2.js +8 -8
  259. package/SVF-doxygen/html/search/enums_3.js +1 -1
  260. package/SVF-doxygen/html/search/enums_4.js +3 -3
  261. package/SVF-doxygen/html/search/enums_5.js +1 -1
  262. package/SVF-doxygen/html/search/enums_6.js +2 -2
  263. package/SVF-doxygen/html/search/enums_7.js +2 -2
  264. package/SVF-doxygen/html/search/enums_8.js +4 -4
  265. package/SVF-doxygen/html/search/enums_9.js +1 -1
  266. package/SVF-doxygen/html/search/enums_a.js +1 -1
  267. package/SVF-doxygen/html/search/enums_b.js +7 -7
  268. package/SVF-doxygen/html/search/enums_c.js +1 -1
  269. package/SVF-doxygen/html/search/enums_d.js +4 -4
  270. package/SVF-doxygen/html/search/enums_e.js +2 -2
  271. package/SVF-doxygen/html/search/enums_f.js +4 -4
  272. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  273. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  274. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  275. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  276. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  277. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  278. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  279. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  280. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  281. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  282. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  283. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  284. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  285. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  286. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  287. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  288. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  289. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  290. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  291. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  292. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  293. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  294. package/SVF-doxygen/html/search/files_0.js +13 -13
  295. package/SVF-doxygen/html/search/files_1.js +7 -7
  296. package/SVF-doxygen/html/search/files_10.js +8 -8
  297. package/SVF-doxygen/html/search/files_11.js +8 -8
  298. package/SVF-doxygen/html/search/files_12.js +2 -2
  299. package/SVF-doxygen/html/search/files_2.js +57 -55
  300. package/SVF-doxygen/html/search/files_3.js +14 -14
  301. package/SVF-doxygen/html/search/files_4.js +5 -5
  302. package/SVF-doxygen/html/search/files_5.js +13 -13
  303. package/SVF-doxygen/html/search/files_6.js +9 -9
  304. package/SVF-doxygen/html/search/files_7.js +14 -14
  305. package/SVF-doxygen/html/search/files_8.js +13 -13
  306. package/SVF-doxygen/html/search/files_9.js +18 -18
  307. package/SVF-doxygen/html/search/files_a.js +3 -3
  308. package/SVF-doxygen/html/search/files_b.js +2 -2
  309. package/SVF-doxygen/html/search/files_c.js +20 -20
  310. package/SVF-doxygen/html/search/files_d.js +4 -4
  311. package/SVF-doxygen/html/search/files_e.js +62 -62
  312. package/SVF-doxygen/html/search/files_f.js +8 -8
  313. package/SVF-doxygen/html/search/functions_0.js +13 -13
  314. package/SVF-doxygen/html/search/functions_1.js +362 -362
  315. package/SVF-doxygen/html/search/functions_10.js +140 -140
  316. package/SVF-doxygen/html/search/functions_11.js +139 -139
  317. package/SVF-doxygen/html/search/functions_12.js +289 -288
  318. package/SVF-doxygen/html/search/functions_13.js +59 -59
  319. package/SVF-doxygen/html/search/functions_14.js +39 -39
  320. package/SVF-doxygen/html/search/functions_15.js +71 -71
  321. package/SVF-doxygen/html/search/functions_16.js +32 -32
  322. package/SVF-doxygen/html/search/functions_17.js +3 -3
  323. package/SVF-doxygen/html/search/functions_18.js +173 -172
  324. package/SVF-doxygen/html/search/functions_2.js +89 -89
  325. package/SVF-doxygen/html/search/functions_3.js +260 -258
  326. package/SVF-doxygen/html/search/functions_4.js +78 -78
  327. package/SVF-doxygen/html/search/functions_5.js +53 -53
  328. package/SVF-doxygen/html/search/functions_6.js +60 -60
  329. package/SVF-doxygen/html/search/functions_7.js +856 -855
  330. package/SVF-doxygen/html/search/functions_8.js +149 -149
  331. package/SVF-doxygen/html/search/functions_9.js +424 -424
  332. package/SVF-doxygen/html/search/functions_a.js +30 -30
  333. package/SVF-doxygen/html/search/functions_b.js +2 -2
  334. package/SVF-doxygen/html/search/functions_c.js +25 -25
  335. package/SVF-doxygen/html/search/functions_d.js +79 -79
  336. package/SVF-doxygen/html/search/functions_e.js +35 -35
  337. package/SVF-doxygen/html/search/functions_f.js +56 -56
  338. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  339. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  340. package/SVF-doxygen/html/search/related_0.js +2 -2
  341. package/SVF-doxygen/html/search/related_1.js +2 -2
  342. package/SVF-doxygen/html/search/related_2.js +3 -2
  343. package/SVF-doxygen/html/search/related_3.js +2 -2
  344. package/SVF-doxygen/html/search/related_4.js +2 -2
  345. package/SVF-doxygen/html/search/related_5.js +1 -1
  346. package/SVF-doxygen/html/search/related_6.js +2 -2
  347. package/SVF-doxygen/html/search/related_7.js +4 -4
  348. package/SVF-doxygen/html/search/related_8.js +2 -2
  349. package/SVF-doxygen/html/search/related_9.js +4 -4
  350. package/SVF-doxygen/html/search/related_a.js +19 -19
  351. package/SVF-doxygen/html/search/related_b.js +4 -4
  352. package/SVF-doxygen/html/search/related_c.js +2 -2
  353. package/SVF-doxygen/html/search/related_d.js +12 -12
  354. package/SVF-doxygen/html/search/related_e.js +2 -2
  355. package/SVF-doxygen/html/search/related_f.js +2 -2
  356. package/SVF-doxygen/html/search/typedefs_10.js +17 -16
  357. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  358. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  359. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  360. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  361. package/SVF-doxygen/html/search/typedefs_c.js +1 -1
  362. package/SVF-doxygen/html/search/variables_0.js +151 -151
  363. package/SVF-doxygen/html/search/variables_1.js +75 -75
  364. package/SVF-doxygen/html/search/variables_10.js +98 -97
  365. package/SVF-doxygen/html/search/variables_11.js +45 -44
  366. package/SVF-doxygen/html/search/variables_12.js +90 -92
  367. package/SVF-doxygen/html/search/variables_13.js +4 -6
  368. package/SVF-doxygen/html/search/variables_2.js +38 -38
  369. package/SVF-doxygen/html/search/variables_3.js +142 -142
  370. package/SVF-doxygen/html/search/variables_4.js +50 -55
  371. package/SVF-doxygen/html/search/variables_5.js +37 -37
  372. package/SVF-doxygen/html/search/variables_6.js +66 -66
  373. package/SVF-doxygen/html/search/variables_7.js +34 -34
  374. package/SVF-doxygen/html/search/variables_8.js +7 -7
  375. package/SVF-doxygen/html/search/variables_9.js +78 -78
  376. package/SVF-doxygen/html/search/variables_a.js +4 -4
  377. package/SVF-doxygen/html/search/variables_b.js +10 -10
  378. package/SVF-doxygen/html/search/variables_c.js +45 -45
  379. package/SVF-doxygen/html/search/variables_d.js +55 -56
  380. package/SVF-doxygen/html/search/variables_e.js +123 -123
  381. package/SVF-doxygen/html/search/variables_f.js +30 -30
  382. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  383. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  384. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  385. package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  386. package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
  387. package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
  388. package/package.json +1 -1
  389. package/svf/include/CFL/CFLSVFGBuilder.h +58 -0
  390. package/svf/include/CFL/CFLVF.h +2 -2
  391. package/svf/include/Graphs/SVFG.h +1 -0
  392. package/svf/include/SABER/ProgSlice.h +11 -0
  393. package/svf/include/SABER/SaberCondAllocator.h +8 -0
  394. package/svf/include/SABER/SaberSVFGBuilder.h +12 -2
  395. package/svf/include/Util/Options.h +1 -14
  396. package/svf/lib/CFL/CFLSVFGBuilder.cpp +100 -0
  397. package/svf/lib/SABER/ProgSlice.cpp +48 -1
  398. package/svf/lib/SABER/SaberSVFGBuilder.cpp +5 -0
  399. package/svf/lib/SABER/SrcSnkDDA.cpp +1 -0
  400. package/svf/lib/Util/Options.cpp +6 -64
  401. package/svf/lib/WPA/Andersen.cpp +5 -2
@@ -104,6 +104,8 @@ Public Types</h2></td></tr>
104
104
  <tr class="memitem:aba5226558dcb5c52b12b02ad37b03f34"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; const <a class="el" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#aba5226558dcb5c52b12b02ad37b03f34">CFWorkList</a></td></tr>
105
105
  <tr class="memdesc:aba5226558dcb5c52b12b02ad37b03f34"><td class="mdescLeft">&#160;</td><td class="mdescRight">worklist for control-flow guard computation <a href="classSVF_1_1SaberCondAllocator.html#aba5226558dcb5c52b12b02ad37b03f34">More...</a><br /></td></tr>
106
106
  <tr class="separator:aba5226558dcb5c52b12b02ad37b03f34"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:a1e5ab069ebb4d17f04788a37fa616cab"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a> *, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt; const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVFGNodeToSVFGNodeSetMap</a></td></tr>
108
+ <tr class="separator:a1e5ab069ebb4d17f04788a37fa616cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
109
  </table><table class="memberdecls">
108
110
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
109
111
  Public Member Functions</h2></td></tr>
@@ -190,11 +192,13 @@ Public Member Functions</h2></td></tr>
190
192
  <tr class="memitem:ae8858c45c7406842ca967ed14f0b58e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#ae8858c45c7406842ca967ed14f0b58e5">setNegCondInst</a> (const <a class="el" href="classSVF_1_1SaberCondAllocator.html#ab4eba98cf7306c89e40975c766d5bf65">Condition</a> &amp;condition, const <a class="el" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</td></tr>
191
193
  <tr class="memdesc:ae8858c45c7406842ca967ed14f0b58e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">mark neg Z3 expression <a href="classSVF_1_1SaberCondAllocator.html#ae8858c45c7406842ca967ed14f0b58e5">More...</a><br /></td></tr>
192
194
  <tr class="separator:ae8858c45c7406842ca967ed14f0b58e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
195
+ <tr class="memitem:aaac0aab3bb5c3533889779b4f63bd6a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVFGNodeToSVFGNodeSetMap</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#aaac0aab3bb5c3533889779b4f63bd6a4">getRemovedSUVFEdges</a> ()</td></tr>
196
+ <tr class="separator:aaac0aab3bb5c3533889779b4f63bd6a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
193
197
  </table><table class="memberdecls">
194
198
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
195
199
  Protected Attributes</h2></td></tr>
196
200
  <tr class="memitem:a5c129ebf5ae55eb3af8bd670c921a646"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a513ab32b3f9ddfb0a21668e881bcf27b">BBCondMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a5c129ebf5ae55eb3af8bd670c921a646">bbConds</a></td></tr>
197
- <tr class="memdesc:a5c129ebf5ae55eb3af8bd670c921a646"><td class="mdescLeft">&#160;</td><td class="mdescRight">a counter for fresh condition <a href="classSVF_1_1SaberCondAllocator.html#a5c129ebf5ae55eb3af8bd670c921a646">More...</a><br /></td></tr>
201
+ <tr class="memdesc:a5c129ebf5ae55eb3af8bd670c921a646"><td class="mdescLeft">&#160;</td><td class="mdescRight">map basic block to its successors/predecessors branch conditions <a href="classSVF_1_1SaberCondAllocator.html#a5c129ebf5ae55eb3af8bd670c921a646">More...</a><br /></td></tr>
198
202
  <tr class="separator:a5c129ebf5ae55eb3af8bd670c921a646"><td class="memSeparator" colspan="2">&#160;</td></tr>
199
203
  </table><table class="memberdecls">
200
204
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
@@ -269,6 +273,9 @@ Private Attributes</h2></td></tr>
269
273
  <tr class="memitem:afd6cf17070e3629ced1ac36b8e2b0bbb"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classSVF_1_1SaberCondAllocator.html#ab4eba98cf7306c89e40975c766d5bf65">Condition</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#afd6cf17070e3629ced1ac36b8e2b0bbb">conditionVec</a></td></tr>
270
274
  <tr class="memdesc:afd6cf17070e3629ced1ac36b8e2b0bbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">bit vector for distinguish neg <a href="classSVF_1_1SaberCondAllocator.html#afd6cf17070e3629ced1ac36b8e2b0bbb">More...</a><br /></td></tr>
271
275
  <tr class="separator:afd6cf17070e3629ced1ac36b8e2b0bbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
276
+ <tr class="memitem:a0eb6b0b625f412cb603e5483ca88e8dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVFGNodeToSVFGNodeSetMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a0eb6b0b625f412cb603e5483ca88e8dc">removedSUVFEdges</a></td></tr>
277
+ <tr class="memdesc:a0eb6b0b625f412cb603e5483ca88e8dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">a counter for fresh condition <a href="classSVF_1_1SaberCondAllocator.html#a0eb6b0b625f412cb603e5483ca88e8dc">More...</a><br /></td></tr>
278
+ <tr class="separator:a0eb6b0b625f412cb603e5483ca88e8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
272
279
  </table><table class="memberdecls">
273
280
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
274
281
  Static Private Attributes</h2></td></tr>
@@ -420,6 +427,22 @@ Static Private Attributes</h2></td></tr>
420
427
 
421
428
  <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00052">52</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
422
429
 
430
+ </div>
431
+ </div>
432
+ <a id="a1e5ab069ebb4d17f04788a37fa616cab"></a>
433
+ <h2 class="memtitle"><span class="permalink"><a href="#a1e5ab069ebb4d17f04788a37fa616cab">&#9670;&nbsp;</a></span>SVFGNodeToSVFGNodeSetMap</h2>
434
+
435
+ <div class="memitem">
436
+ <div class="memproto">
437
+ <table class="memname">
438
+ <tr>
439
+ <td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt;const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>*, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>&lt;const <a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>*&gt; &gt; <a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVF::SaberCondAllocator::SVFGNodeToSVFGNodeSetMap</a></td>
440
+ </tr>
441
+ </table>
442
+ </div><div class="memdoc">
443
+
444
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00059">59</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
445
+
423
446
  </div>
424
447
  </div>
425
448
  <h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
@@ -472,9 +495,9 @@ Static Private Attributes</h2></td></tr>
472
495
 
473
496
  <p>Destructor. </p>
474
497
 
475
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00065">65</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
476
- <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div>
477
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
498
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00066">66</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
499
+ <div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
500
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div>
478
501
  </div><!-- fragment -->
479
502
  </div>
480
503
  </div>
@@ -628,10 +651,10 @@ Static Private Attributes</h2></td></tr>
628
651
  </table>
629
652
  </div><div class="memdoc">
630
653
 
631
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00176">176</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
632
- <div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
633
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.clear();</div>
634
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div>
654
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00177">177</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
655
+ <div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
656
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.clear();</div>
657
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div>
635
658
  </div><!-- fragment -->
636
659
  </div>
637
660
  </div>
@@ -907,10 +930,10 @@ Static Private Attributes</h2></td></tr>
907
930
 
908
931
  <p>Condition operations. </p>
909
932
 
910
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00086">86</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
911
- <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div>
912
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a4f56bd6d3a31df94e19af9ce6e685fea">Condition::AND</a>(lhs,rhs);</div>
913
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
933
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00087">87</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
934
+ <div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div>
935
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a4f56bd6d3a31df94e19af9ce6e685fea">Condition::AND</a>(lhs,rhs);</div>
936
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
914
937
  </div><!-- fragment -->
915
938
  </div>
916
939
  </div>
@@ -938,10 +961,10 @@ Static Private Attributes</h2></td></tr>
938
961
  </table>
939
962
  </div><div class="memdoc">
940
963
 
941
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00094">94</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
942
- <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
943
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a9a545e516e6dee37310ad02481a84356">Condition::NEG</a>(cond);</div>
944
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
964
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00095">95</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
965
+ <div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
966
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a9a545e516e6dee37310ad02481a84356">Condition::NEG</a>(cond);</div>
967
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
945
968
  </div><!-- fragment -->
946
969
  </div>
947
970
  </div>
@@ -979,10 +1002,10 @@ Static Private Attributes</h2></td></tr>
979
1002
  </table>
980
1003
  </div><div class="memdoc">
981
1004
 
982
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00090">90</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
983
- <div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
984
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ac063ed06c3495b790c02fe57c781b34e">Condition::OR</a>(lhs,rhs);</div>
985
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
1005
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00091">91</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1006
+ <div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div>
1007
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#ac063ed06c3495b790c02fe57c781b34e">Condition::OR</a>(lhs,rhs);</div>
1008
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
986
1009
  </div><!-- fragment -->
987
1010
  </div>
988
1011
  </div>
@@ -1011,10 +1034,10 @@ Static Private Attributes</h2></td></tr>
1011
1034
 
1012
1035
  <p>Release memory. </p>
1013
1036
 
1014
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00286">286</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1015
- <div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div>
1016
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
1017
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
1037
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00293">293</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1038
+ <div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
1039
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; </div>
1040
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
1018
1041
  </div><!-- fragment -->
1019
1042
  </div>
1020
1043
  </div>
@@ -1052,15 +1075,15 @@ Static Private Attributes</h2></td></tr>
1052
1075
  </table>
1053
1076
  </div><div class="memdoc">
1054
1077
 
1055
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00156">156</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1056
- <div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
1057
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">const</span> SVFFunction* keyFunc = bbKey-&gt;getParent();</div>
1058
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> SVFFunction* valueFunc = bbValue-&gt;getParent();</div>
1059
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">bool</span> funcEq = (keyFunc == valueFunc);</div>
1060
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; (void)funcEq; <span class="comment">// Suppress warning of unused variable under release build</span></div>
1061
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; assert(funcEq &amp;&amp; <span class="stringliteral">&quot;two basicblocks should be in the same function!&quot;</span>);</div>
1062
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> keyFunc-&gt;dominate(bbKey,bbValue);</div>
1063
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; }</div>
1078
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00157">157</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1079
+ <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; {</div>
1080
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keyword">const</span> SVFFunction* keyFunc = bbKey-&gt;getParent();</div>
1081
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keyword">const</span> SVFFunction* valueFunc = bbValue-&gt;getParent();</div>
1082
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">bool</span> funcEq = (keyFunc == valueFunc);</div>
1083
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; (void)funcEq; <span class="comment">// Suppress warning of unused variable under release build</span></div>
1084
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; assert(funcEq &amp;&amp; <span class="stringliteral">&quot;two basicblocks should be in the same function!&quot;</span>);</div>
1085
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> keyFunc-&gt;dominate(bbKey,bbValue);</div>
1086
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
1064
1087
  </div><!-- fragment -->
1065
1088
  </div>
1066
1089
  </div>
@@ -1088,10 +1111,10 @@ Static Private Attributes</h2></td></tr>
1088
1111
  </table>
1089
1112
  </div><div class="memdoc">
1090
1113
 
1091
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00114">114</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1092
- <div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div>
1093
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a56ba65487cc91248259e29d3ebb5bdb0">Condition::dumpStr</a>(cond);</div>
1094
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div>
1114
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00115">115</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1115
+ <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
1116
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#a56ba65487cc91248259e29d3ebb5bdb0">Condition::dumpStr</a>(cond);</div>
1117
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
1095
1118
  </div><!-- fragment -->
1096
1119
  </div>
1097
1120
  </div>
@@ -1415,12 +1438,12 @@ Static Private Attributes</h2></td></tr>
1415
1438
 
1416
1439
  <p>Iterator every element of the condition. </p>
1417
1440
 
1418
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00107">107</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1419
- <div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
1420
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> elems;</div>
1421
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a9f43fe1cacf419f03276d66c3a54fe77">extractSubConds</a>(cond, elems);</div>
1422
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> elems;</div>
1423
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
1441
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00108">108</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1442
+ <div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div>
1443
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> elems;</div>
1444
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a9f43fe1cacf419f03276d66c3a54fe77">extractSubConds</a>(cond, elems);</div>
1445
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> elems;</div>
1446
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
1424
1447
  </div><!-- fragment -->
1425
1448
  </div>
1426
1449
  </div>
@@ -1558,15 +1581,15 @@ Static Private Attributes</h2></td></tr>
1558
1581
  </table>
1559
1582
  </div><div class="memdoc">
1560
1583
 
1561
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00224">224</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1562
- <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
1563
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; BBToCondMap::const_iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.find(bb);</div>
1564
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">if</span>(it==<a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.end())</div>
1565
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
1566
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a9b52da69d79746765d0c12a5ce1b08f4">getFalseCond</a>();</div>
1567
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
1568
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1569
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
1584
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00225">225</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1585
+ <div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div>
1586
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; BBToCondMap::const_iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.find(bb);</div>
1587
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>(it==<a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.end())</div>
1588
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div>
1589
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a9b52da69d79746765d0c12a5ce1b08f4">getFalseCond</a>();</div>
1590
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div>
1591
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1592
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
1570
1593
  </div><!-- fragment -->
1571
1594
  </div>
1572
1595
  </div>
@@ -1596,12 +1619,12 @@ Static Private Attributes</h2></td></tr>
1596
1619
 
1597
1620
  <p>Get/Set instruction based on Z3 expression id. </p>
1598
1621
 
1599
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00127">127</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1600
- <div class="fragment"><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
1601
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; IndexToTermInstMap::const_iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.find(<span class="keywordtype">id</span>);</div>
1602
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; assert(it != <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;this should be a fresh condition&quot;</span>);</div>
1603
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1604
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div>
1622
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00128">128</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1623
+ <div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
1624
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; IndexToTermInstMap::const_iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.find(<span class="keywordtype">id</span>);</div>
1625
+ <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; assert(it != <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;this should be a fresh condition&quot;</span>);</div>
1626
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">return</span> it-&gt;second;</div>
1627
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</div>
1605
1628
  </div><!-- fragment -->
1606
1629
  </div>
1607
1630
  </div>
@@ -1628,10 +1651,10 @@ Static Private Attributes</h2></td></tr>
1628
1651
  </table>
1629
1652
  </div><div class="memdoc">
1630
1653
 
1631
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00078">78</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1632
- <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div>
1633
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a76fad4d58db94d7c572876ba6f1adf83">totalCondNum</a>;</div>
1634
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
1654
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00079">79</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1655
+ <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div>
1656
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a76fad4d58db94d7c572876ba6f1adf83">totalCondNum</a>;</div>
1657
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
1635
1658
  </div><!-- fragment -->
1636
1659
  </div>
1637
1660
  </div>
@@ -1660,10 +1683,10 @@ Static Private Attributes</h2></td></tr>
1660
1683
 
1661
1684
  <p>Get current value for branch condition evaluation. </p>
1662
1685
 
1663
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00186">186</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1664
- <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
1665
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">curEvalSVFGNode</a>;</div>
1666
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
1686
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00187">187</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1687
+ <div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
1688
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">curEvalSVFGNode</a>;</div>
1689
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
1667
1690
  </div><!-- fragment -->
1668
1691
  </div>
1669
1692
  </div>
@@ -1736,10 +1759,10 @@ Static Private Attributes</h2></td></tr>
1736
1759
  </table>
1737
1760
  </div><div class="memdoc">
1738
1761
 
1739
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00102">102</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1740
- <div class="fragment"><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
1741
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Condition::getFalseCond</a>();</div>
1742
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
1762
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00103">103</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1763
+ <div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div>
1764
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">Condition::getFalseCond</a>();</div>
1765
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
1743
1766
  </div><!-- fragment -->
1744
1767
  </div>
1745
1768
  </div>
@@ -1766,10 +1789,10 @@ Static Private Attributes</h2></td></tr>
1766
1789
  </table>
1767
1790
  </div><div class="memdoc">
1768
1791
 
1769
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00207">207</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1770
- <div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
1771
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
1772
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
1792
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00208">208</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1793
+ <div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
1794
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
1795
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div>
1773
1796
  </div><!-- fragment -->
1774
1797
  </div>
1775
1798
  </div>
@@ -1798,14 +1821,14 @@ Static Private Attributes</h2></td></tr>
1798
1821
 
1799
1822
  <p>Statistics. </p>
1800
1823
 
1801
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00070">70</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1802
- <div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div>
1803
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> vmrss, vmsize;</div>
1804
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVFUtil::getMemoryUsageKB</a>(&amp;vmrss, &amp;vmsize))</div>
1805
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> std::to_string(vmsize) + <span class="stringliteral">&quot;KB&quot;</span>;</div>
1806
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div>
1807
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;cannot read memory usage&quot;</span>;</div>
1808
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
1824
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00071">71</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1825
+ <div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
1826
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> vmrss, vmsize;</div>
1827
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVFUtil::getMemoryUsageKB</a>(&amp;vmrss, &amp;vmsize))</div>
1828
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> std::to_string(vmsize) + <span class="stringliteral">&quot;KB&quot;</span>;</div>
1829
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">else</span></div>
1830
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;cannot read memory usage&quot;</span>;</div>
1831
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
1809
1832
  </div><!-- fragment -->
1810
1833
  </div>
1811
1834
  </div>
@@ -1867,6 +1890,36 @@ Static Private Attributes</h2></td></tr>
1867
1890
  </div><!-- fragment -->
1868
1891
  </div>
1869
1892
  </div>
1893
+ <a id="aaac0aab3bb5c3533889779b4f63bd6a4"></a>
1894
+ <h2 class="memtitle"><span class="permalink"><a href="#aaac0aab3bb5c3533889779b4f63bd6a4">&#9670;&nbsp;</a></span>getRemovedSUVFEdges()</h2>
1895
+
1896
+ <div class="memitem">
1897
+ <div class="memproto">
1898
+ <table class="mlabels">
1899
+ <tr>
1900
+ <td class="mlabels-left">
1901
+ <table class="memname">
1902
+ <tr>
1903
+ <td class="memname"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVFGNodeToSVFGNodeSetMap</a>&amp; SVF::SaberCondAllocator::getRemovedSUVFEdges </td>
1904
+ <td>(</td>
1905
+ <td class="paramname"></td><td>)</td>
1906
+ <td></td>
1907
+ </tr>
1908
+ </table>
1909
+ </td>
1910
+ <td class="mlabels-right">
1911
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
1912
+ </tr>
1913
+ </table>
1914
+ </div><div class="memdoc">
1915
+
1916
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00244">244</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1917
+ <div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
1918
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a0eb6b0b625f412cb603e5483ca88e8dc">removedSUVFEdges</a>;</div>
1919
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div>
1920
+ </div><!-- fragment -->
1921
+ </div>
1922
+ </div>
1870
1923
  <a id="ab9d7f1f5c5f22b190ec34255dead41b3"></a>
1871
1924
  <h2 class="memtitle"><span class="permalink"><a href="#ab9d7f1f5c5f22b190ec34255dead41b3">&#9670;&nbsp;</a></span>getTrueCond()</h2>
1872
1925
 
@@ -1890,10 +1943,10 @@ Static Private Attributes</h2></td></tr>
1890
1943
  </table>
1891
1944
  </div><div class="memdoc">
1892
1945
 
1893
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00098">98</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1894
- <div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
1895
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Condition::getTrueCond</a>();</div>
1896
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div>
1946
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00099">99</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1947
+ <div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
1948
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Condition::getTrueCond</a>();</div>
1949
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
1897
1950
  </div><!-- fragment -->
1898
1951
  </div>
1899
1952
  </div>
@@ -1923,10 +1976,10 @@ Static Private Attributes</h2></td></tr>
1923
1976
 
1924
1977
  <p>whether condition is satisfiable for all possible boolean guards </p>
1925
1978
 
1926
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00199">199</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1927
- <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
1928
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">isEquivalentBranchCond</a>(condition, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Condition::getTrueCond</a>());</div>
1929
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
1979
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00200">200</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
1980
+ <div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
1981
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">isEquivalentBranchCond</a>(condition, <a class="code" href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">Condition::getTrueCond</a>());</div>
1982
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
1930
1983
  </div><!-- fragment -->
1931
1984
  </div>
1932
1985
  </div>
@@ -2103,10 +2156,10 @@ Static Private Attributes</h2></td></tr>
2103
2156
  </table>
2104
2157
  </div><div class="memdoc">
2105
2158
 
2106
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00141">141</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2107
- <div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
2108
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">negConds</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">id</span>);</div>
2109
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
2159
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00142">142</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2160
+ <div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div>
2161
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">negConds</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">id</span>);</div>
2162
+ <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
2110
2163
  </div><!-- fragment -->
2111
2164
  </div>
2112
2165
  </div>
@@ -2357,15 +2410,15 @@ Static Private Attributes</h2></td></tr>
2357
2410
  </table>
2358
2411
  </div><div class="memdoc">
2359
2412
 
2360
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00146">146</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2361
- <div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
2362
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keyword">const</span> SVFFunction* keyFunc = bbKey-&gt;getParent();</div>
2363
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> SVFFunction* valueFunc = bbValue-&gt;getParent();</div>
2364
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">bool</span> funcEq = (keyFunc == valueFunc);</div>
2365
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; (void)funcEq; <span class="comment">// Suppress warning of unused variable under release build</span></div>
2366
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; assert(funcEq &amp;&amp; <span class="stringliteral">&quot;two basicblocks should be in the same function!&quot;</span>);</div>
2367
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> keyFunc-&gt;postDominate(bbKey,bbValue);</div>
2368
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
2413
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00147">147</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2414
+ <div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
2415
+ <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">const</span> SVFFunction* keyFunc = bbKey-&gt;getParent();</div>
2416
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">const</span> SVFFunction* valueFunc = bbValue-&gt;getParent();</div>
2417
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordtype">bool</span> funcEq = (keyFunc == valueFunc);</div>
2418
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; (void)funcEq; <span class="comment">// Suppress warning of unused variable under release build</span></div>
2419
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; assert(funcEq &amp;&amp; <span class="stringliteral">&quot;two basicblocks should be in the same function!&quot;</span>);</div>
2420
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> keyFunc-&gt;postDominate(bbKey,bbValue);</div>
2421
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
2369
2422
  </div><!-- fragment -->
2370
2423
  </div>
2371
2424
  </div>
@@ -2510,16 +2563,16 @@ Static Private Attributes</h2></td></tr>
2510
2563
 
2511
2564
  <p>Get/Set control-flow conditions. </p>
2512
2565
 
2513
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00214">214</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2514
- <div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div>
2515
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; BBToCondMap::iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.find(bb);</div>
2516
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// until a fixed-point is reached (condition is not changed)</span></div>
2517
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.end() &amp;&amp; <a class="code" href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">isEquivalentBranchCond</a>(it-&gt;second, cond))</div>
2518
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
2519
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
2520
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>[bb] = cond;</div>
2521
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2522
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
2566
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00215">215</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2567
+ <div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
2568
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; BBToCondMap::iterator it = <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.find(bb);</div>
2569
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">// until a fixed-point is reached (condition is not changed)</span></div>
2570
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>.end() &amp;&amp; <a class="code" href="classSVF_1_1SaberCondAllocator.html#aa9027574586fd4fbb12039f595ecec71">isEquivalentBranchCond</a>(it-&gt;second, cond))</div>
2571
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
2572
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
2573
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">bbToCondMap</a>[bb] = cond;</div>
2574
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
2575
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
2523
2576
  </div><!-- fragment -->
2524
2577
  </div>
2525
2578
  </div>
@@ -2557,11 +2610,11 @@ Static Private Attributes</h2></td></tr>
2557
2610
  </table>
2558
2611
  </div><div class="memdoc">
2559
2612
 
2560
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00134">134</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2561
- <div class="fragment"><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div>
2562
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; assert(<a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.find(condition.id()) == <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;this should be a fresh condition&quot;</span>);</div>
2563
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>[condition.id()] = inst;</div>
2564
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
2613
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00135">135</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2614
+ <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div>
2615
+ <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; assert(<a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.find(condition.id()) == <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>.end() &amp;&amp; <span class="stringliteral">&quot;this should be a fresh condition&quot;</span>);</div>
2616
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">idToTermInstMap</a>[condition.id()] = inst;</div>
2617
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
2565
2618
  </div><!-- fragment -->
2566
2619
  </div>
2567
2620
  </div>
@@ -2591,10 +2644,10 @@ Static Private Attributes</h2></td></tr>
2591
2644
 
2592
2645
  <p>Set current value for branch condition evaluation. </p>
2593
2646
 
2594
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00181">181</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2595
- <div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
2596
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">curEvalSVFGNode</a> = node;</div>
2597
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div>
2647
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00182">182</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2648
+ <div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div>
2649
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">curEvalSVFGNode</a> = node;</div>
2650
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
2598
2651
  </div><!-- fragment -->
2599
2652
  </div>
2600
2653
  </div>
@@ -2634,11 +2687,11 @@ Static Private Attributes</h2></td></tr>
2634
2687
 
2635
2688
  <p>mark neg Z3 expression </p>
2636
2689
 
2637
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00237">237</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2638
- <div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div>
2639
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a97d540340f9039b3f8bd1527fc7d7ebb">setCondInst</a>(condition, inst);</div>
2640
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">negConds</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(condition.id());</div>
2641
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div>
2690
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00238">238</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2691
+ <div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; {</div>
2692
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a97d540340f9039b3f8bd1527fc7d7ebb">setCondInst</a>(condition, inst);</div>
2693
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">negConds</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(condition.id());</div>
2694
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
2642
2695
  </div><!-- fragment -->
2643
2696
  </div>
2644
2697
  </div>
@@ -2663,10 +2716,9 @@ Static Private Attributes</h2></td></tr>
2663
2716
  </table>
2664
2717
  </div><div class="memdoc">
2665
2718
 
2666
- <p>a counter for fresh condition </p>
2667
2719
  <p>map basic block to its successors/predecessors branch conditions </p>
2668
2720
 
2669
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00304">304</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2721
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00312">312</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2670
2722
 
2671
2723
  </div>
2672
2724
  </div>
@@ -2692,7 +2744,7 @@ Static Private Attributes</h2></td></tr>
2692
2744
 
2693
2745
  <p>map a basic block to its path condition starting from root </p>
2694
2746
 
2695
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00296">296</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2747
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00303">303</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2696
2748
 
2697
2749
  </div>
2698
2750
  </div>
@@ -2718,7 +2770,7 @@ Static Private Attributes</h2></td></tr>
2718
2770
 
2719
2771
  <p>bit vector for distinguish neg </p>
2720
2772
 
2721
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00300">300</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2773
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00307">307</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2722
2774
 
2723
2775
  </div>
2724
2776
  </div>
@@ -2744,7 +2796,7 @@ Static Private Attributes</h2></td></tr>
2744
2796
 
2745
2797
  <p>current llvm value to evaluate branch condition when computing guards </p>
2746
2798
 
2747
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00297">297</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2799
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00304">304</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2748
2800
 
2749
2801
  </div>
2750
2802
  </div>
@@ -2770,7 +2822,7 @@ Static Private Attributes</h2></td></tr>
2770
2822
 
2771
2823
  <p>map a function to all its basic blocks calling program exit </p>
2772
2824
 
2773
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00295">295</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2825
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00302">302</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2774
2826
 
2775
2827
  </div>
2776
2828
  </div>
@@ -2794,7 +2846,7 @@ Static Private Attributes</h2></td></tr>
2794
2846
  </table>
2795
2847
  </div><div class="memdoc">
2796
2848
 
2797
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00298">298</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2849
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00305">305</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2798
2850
 
2799
2851
  </div>
2800
2852
  </div>
@@ -2820,7 +2872,33 @@ Static Private Attributes</h2></td></tr>
2820
2872
 
2821
2873
  <p>key: z3 expression id, value: instruction </p>
2822
2874
 
2823
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00299">299</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2875
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00306">306</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2876
+
2877
+ </div>
2878
+ </div>
2879
+ <a id="a0eb6b0b625f412cb603e5483ca88e8dc"></a>
2880
+ <h2 class="memtitle"><span class="permalink"><a href="#a0eb6b0b625f412cb603e5483ca88e8dc">&#9670;&nbsp;</a></span>removedSUVFEdges</h2>
2881
+
2882
+ <div class="memitem">
2883
+ <div class="memproto">
2884
+ <table class="mlabels">
2885
+ <tr>
2886
+ <td class="mlabels-left">
2887
+ <table class="memname">
2888
+ <tr>
2889
+ <td class="memname"><a class="el" href="classSVF_1_1SaberCondAllocator.html#a1e5ab069ebb4d17f04788a37fa616cab">SVFGNodeToSVFGNodeSetMap</a> SVF::SaberCondAllocator::removedSUVFEdges</td>
2890
+ </tr>
2891
+ </table>
2892
+ </td>
2893
+ <td class="mlabels-right">
2894
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
2895
+ </tr>
2896
+ </table>
2897
+ </div><div class="memdoc">
2898
+
2899
+ <p>a counter for fresh condition </p>
2900
+
2901
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00309">309</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2824
2902
 
2825
2903
  </div>
2826
2904
  </div>
@@ -2846,7 +2924,7 @@ Static Private Attributes</h2></td></tr>
2846
2924
 
2847
2925
  <p>vector storing z3expression </p>
2848
2926
 
2849
- <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00301">301</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2927
+ <p class="definition">Definition at line <a class="el" href="SaberCondAllocator_8h_source.html#l00308">308</a> of file <a class="el" href="SaberCondAllocator_8h_source.html">SaberCondAllocator.h</a>.</p>
2850
2928
 
2851
2929
  </div>
2852
2930
  </div>
@@ -2855,18 +2933,18 @@ Static Private Attributes</h2></td></tr>
2855
2933
  <li>/home/runner/work/SVF/SVF/svf/lib/SABER/<a class="el" href="SaberCondAllocator_8cpp_source.html">SaberCondAllocator.cpp</a></li>
2856
2934
  </ul>
2857
2935
  </div><!-- contents -->
2858
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_af2fe5ef8f31ae675a7a32b45aa34a597"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#af2fe5ef8f31ae675a7a32b45aa34a597">SVF::SaberCondAllocator::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00156">SaberCondAllocator.h:156</a></div></div>
2936
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_af2fe5ef8f31ae675a7a32b45aa34a597"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#af2fe5ef8f31ae675a7a32b45aa34a597">SVF::SaberCondAllocator::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00157">SaberCondAllocator.h:157</a></div></div>
2859
2937
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
2860
2938
  <div class="ttc" id="anamespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00063">SVFType.h:63</a></div></div>
2861
2939
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ab8a735b5d183f5190c4c45b313f1b174"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab8a735b5d183f5190c4c45b313f1b174">SVF::SVFBasicBlock::getBBSuccessorPos</a></div><div class="ttdeci">u32_t getBBSuccessorPos(const SVFBasicBlock *succbb)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00221">SVFValue.cpp:221</a></div></div>
2862
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9b52da69d79746765d0c12a5ce1b08f4"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9b52da69d79746765d0c12a5ce1b08f4">SVF::SaberCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00102">SaberCondAllocator.h:102</a></div></div>
2940
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9b52da69d79746765d0c12a5ce1b08f4"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9b52da69d79746765d0c12a5ce1b08f4">SVF::SaberCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00103">SaberCondAllocator.h:103</a></div></div>
2863
2941
  <div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
2864
2942
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab1e0f5cb65f7a50da2700fd1f959ea78"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab1e0f5cb65f7a50da2700fd1f959ea78">SVF::SaberCondAllocator::evaluateBranchCond</a></div><div class="ttdeci">Condition evaluateBranchCond(const SVFBasicBlock *bb, const SVFBasicBlock *succ)</div><div class="ttdoc">Evaluate branch conditions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00293">SaberCondAllocator.cpp:293</a></div></div>
2865
2943
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a57c199ba2c3c6a6d44a86e0b1429be55"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a57c199ba2c3c6a6d44a86e0b1429be55">SVF::Z3Expr::getExpr</a></div><div class="ttdeci">const z3::expr &amp; getExpr() const</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00079">Z3Expr.h:79</a></div></div>
2866
2944
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a9aa800372d57db519d484cc32ea1c5dc"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9aa800372d57db519d484cc32ea1c5dc">SVF::Z3Expr::nullExpr</a></div><div class="ttdeci">static z3::expr nullExpr()</div><div class="ttdoc">null expression</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00098">Z3Expr.h:98</a></div></div>
2867
2945
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aaa01f2c79866e9eb7818d80b0af2b9f5"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aaa01f2c79866e9eb7818d80b0af2b9f5">SVF::SaberCondAllocator::isEQCmp</a></div><div class="ttdeci">bool isEQCmp(const CmpStmt *cmp) const</div><div class="ttdoc">Evaluate test null/not null like expressions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00334">SaberCondAllocator.cpp:334</a></div></div>
2868
2946
  <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>
2869
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ace1ef8c6e9bc369a6828e7220979e40b"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ace1ef8c6e9bc369a6828e7220979e40b">SVF::SaberCondAllocator::getCFCond</a></div><div class="ttdeci">Condition getCFCond(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00224">SaberCondAllocator.h:224</a></div></div>
2947
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ace1ef8c6e9bc369a6828e7220979e40b"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ace1ef8c6e9bc369a6828e7220979e40b">SVF::SaberCondAllocator::getCFCond</a></div><div class="ttdeci">Condition getCFCond(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00225">SaberCondAllocator.h:225</a></div></div>
2870
2948
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_ac063ed06c3495b790c02fe57c781b34e"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#ac063ed06c3495b790c02fe57c781b34e">SVF::Z3Expr::OR</a></div><div class="ttdeci">static Z3Expr OR(const Z3Expr &amp;lhs, const Z3Expr &amp;rhs)</div><div class="ttdoc">compute OR, used for branch condition</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00130">Z3Expr.cpp:130</a></div></div>
2871
2949
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ada4902d6ee3ad2d37e31c710a36dcc74"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ada4902d6ee3ad2d37e31c710a36dcc74">SVF::SaberCondAllocator::newCond</a></div><div class="ttdeci">Condition newCond(const SVFInstruction *inst)</div><div class="ttdoc">Allocate a new condition.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00597">SaberCondAllocator.cpp:597</a></div></div>
2872
2950
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aba5226558dcb5c52b12b02ad37b03f34"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aba5226558dcb5c52b12b02ad37b03f34">SVF::SaberCondAllocator::CFWorkList</a></div><div class="ttdeci">FIFOWorkList&lt; const SVFBasicBlock * &gt; CFWorkList</div><div class="ttdoc">worklist for control-flow guard computation</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00058">SaberCondAllocator.h:58</a></div></div>
@@ -2880,12 +2958,12 @@ Static Private Attributes</h2></td></tr>
2880
2958
  <div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00582">SVFType.h:582</a></div></div>
2881
2959
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
2882
2960
  <div class="ttc" id="aclassSVF_1_1BranchStmt_html_a7d9a6ebb2d95942c453864b5327b1ae8"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">SVF::BranchStmt::getSuccessor</a></div><div class="ttdeci">const ICFGNode * getSuccessor(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01169">SVFStatements.h:1169</a></div></div>
2883
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a4267ed81d5100d49581a4216f46e660c"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">SVF::SaberCondAllocator::negConds</a></div><div class="ttdeci">NodeBS negConds</div><div class="ttdoc">key: z3 expression id, value: instruction</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00299">SaberCondAllocator.h:299</a></div></div>
2961
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a4267ed81d5100d49581a4216f46e660c"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a4267ed81d5100d49581a4216f46e660c">SVF::SaberCondAllocator::negConds</a></div><div class="ttdeci">NodeBS negConds</div><div class="ttdoc">key: z3 expression id, value: instruction</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00306">SaberCondAllocator.h:306</a></div></div>
2884
2962
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_afa469fdfa92b99d1727b8df873c86768"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768">SVF::SVFFunction::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00506">SVFValue.h:506</a></div></div>
2885
2963
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a7d5ec3597ef0befe3b928c04db706d7a"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a7d5ec3597ef0befe3b928c04db706d7a">SVF::SaberCondAllocator::getBranchCond</a></div><div class="ttdeci">Condition getBranchCond(const SVFBasicBlock *bb, const SVFBasicBlock *succ) const</div><div class="ttdoc">Get branch condition.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00140">SaberCondAllocator.cpp:140</a></div></div>
2886
2964
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9f43fe1cacf419f03276d66c3a54fe77"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9f43fe1cacf419f03276d66c3a54fe77">SVF::SaberCondAllocator::extractSubConds</a></div><div class="ttdeci">void extractSubConds(const Condition &amp;condition, NodeBS &amp;support) const</div><div class="ttdoc">extract subexpression from a Z3 expression</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00633">SaberCondAllocator.cpp:633</a></div></div>
2887
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a3eb0a564ba8047dc5512b2e79ba64313"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a3eb0a564ba8047dc5512b2e79ba64313">SVF::SaberCondAllocator::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00146">SaberCondAllocator.h:146</a></div></div>
2888
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aee401aa2c7884888bbd26544bcd92881"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">SVF::SaberCondAllocator::idToTermInstMap</a></div><div class="ttdeci">IndexToTermInstMap idToTermInstMap</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00298">SaberCondAllocator.h:298</a></div></div>
2965
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a3eb0a564ba8047dc5512b2e79ba64313"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a3eb0a564ba8047dc5512b2e79ba64313">SVF::SaberCondAllocator::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00147">SaberCondAllocator.h:147</a></div></div>
2966
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aee401aa2c7884888bbd26544bcd92881"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aee401aa2c7884888bbd26544bcd92881">SVF::SaberCondAllocator::idToTermInstMap</a></div><div class="ttdeci">IndexToTermInstMap idToTermInstMap</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00305">SaberCondAllocator.h:305</a></div></div>
2889
2967
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a9a545e516e6dee37310ad02481a84356"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a9a545e516e6dee37310ad02481a84356">SVF::Z3Expr::NEG</a></div><div class="ttdeci">static Z3Expr NEG(const Z3Expr &amp;z3Expr)</div><div class="ttdoc">compute NEG</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00294">Z3Expr.h:294</a></div></div>
2890
2968
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a4fc06192d4f7db305c3414a39e7c2b49"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a4fc06192d4f7db305c3414a39e7c2b49">SVF::SaberCondAllocator::isTestNotNullExpr</a></div><div class="ttdeci">bool isTestNotNullExpr(const SVFValue *test) const</div><div class="ttdoc">Return true if this is a test not null expression.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00359">SaberCondAllocator.cpp:359</a></div></div>
2891
2969
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a18f9d9ea87def35d4eaa707a339316b8"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a18f9d9ea87def35d4eaa707a339316b8">SVF::MultiOpndStmt::getOpVar</a></div><div class="ttdeci">const SVFVar * getOpVar(u32_t pos) const</div><div class="ttdoc">Operand SVFVars.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00712">SVFStatements.h:712</a></div></div>
@@ -2895,10 +2973,10 @@ Static Private Attributes</h2></td></tr>
2895
2973
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a25f4e42de59e143314917bdfd8122cbe"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a25f4e42de59e143314917bdfd8122cbe">SVF::SaberCondAllocator::evaluateProgExit</a></div><div class="ttdeci">Condition evaluateProgExit(const BranchStmt *branchStmt, const SVFBasicBlock *succ)</div><div class="ttdoc">Return condition when there is a branch calls program exit.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00213">SaberCondAllocator.cpp:213</a></div></div>
2896
2974
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
2897
2975
  <div class="ttc" id="aSVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00596">SVFType.h:596</a></div></div>
2898
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a97d540340f9039b3f8bd1527fc7d7ebb"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a97d540340f9039b3f8bd1527fc7d7ebb">SVF::SaberCondAllocator::setCondInst</a></div><div class="ttdeci">void setCondInst(const Condition &amp;condition, const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00134">SaberCondAllocator.h:134</a></div></div>
2899
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a79682a4e4da23d0eaf0066a91c2f7bd4"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a79682a4e4da23d0eaf0066a91c2f7bd4">SVF::SaberCondAllocator::condAnd</a></div><div class="ttdeci">Condition condAnd(const Condition &amp;lhs, const Condition &amp;rhs)</div><div class="ttdoc">Condition operations.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00086">SaberCondAllocator.h:86</a></div></div>
2976
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a97d540340f9039b3f8bd1527fc7d7ebb"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a97d540340f9039b3f8bd1527fc7d7ebb">SVF::SaberCondAllocator::setCondInst</a></div><div class="ttdeci">void setCondInst(const Condition &amp;condition, const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00135">SaberCondAllocator.h:135</a></div></div>
2977
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a79682a4e4da23d0eaf0066a91c2f7bd4"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a79682a4e4da23d0eaf0066a91c2f7bd4">SVF::SaberCondAllocator::condAnd</a></div><div class="ttdeci">Condition condAnd(const Condition &amp;lhs, const Condition &amp;rhs)</div><div class="ttdoc">Condition operations.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00087">SaberCondAllocator.h:87</a></div></div>
2900
2978
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aac5762d9a7d584a9748301acbb31b401"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aac5762d9a7d584a9748301acbb31b401">SVF::SaberCondAllocator::isNECmp</a></div><div class="ttdeci">bool isNECmp(const CmpStmt *cmp) const</div><div class="ttdoc">Return true if the predicate of this compare instruction is not equal.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00339">SaberCondAllocator.cpp:339</a></div></div>
2901
- <div class="ttc" id="aclassSVF_1_1Options_html_a61986f02577051d98962c6680ac7c4f9"><div class="ttname"><a href="classSVF_1_1Options.html#a61986f02577051d98962c6680ac7c4f9">SVF::Options::PrintPathCond</a></div><div class="ttdeci">static const Option&lt; bool &gt; PrintPathCond</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00230">Options.h:230</a></div></div>
2979
+ <div class="ttc" id="aclassSVF_1_1Options_html_a61986f02577051d98962c6680ac7c4f9"><div class="ttname"><a href="classSVF_1_1Options.html#a61986f02577051d98962c6680ac7c4f9">SVF::Options::PrintPathCond</a></div><div class="ttdeci">static const Option&lt; bool &gt; PrintPathCond</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00217">Options.h:217</a></div></div>
2902
2980
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00578">SVFValue.h:578</a></div></div>
2903
2981
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_af541505af93ccebf57543793658cf495"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#af541505af93ccebf57543793658cf495">SVF::Z3Expr::getFalseCond</a></div><div class="ttdeci">static Z3Expr getFalseCond()</div><div class="ttdoc">Return the unique false condition.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00288">Z3Expr.h:288</a></div></div>
2904
2982
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9c55829ba737d6100a0a39c32929a56a"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9c55829ba737d6100a0a39c32929a56a">SVF::SaberCondAllocator::collectBBCallingProgExit</a></div><div class="ttdeci">void collectBBCallingProgExit(const SVFBasicBlock &amp;bb)</div><div class="ttdoc">Collect basic block contains program exit function call.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00425">SaberCondAllocator.cpp:425</a></div></div>
@@ -2911,8 +2989,8 @@ Static Private Attributes</h2></td></tr>
2911
2989
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00607">SVFValue.h:607</a></div></div>
2912
2990
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00908">SVFStatements.h:908</a></div></div>
2913
2991
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html_ae7e734f4ceca40c6cf46f16d088780ca"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ae7e734f4ceca40c6cf46f16d088780ca">SVF::ICFGNode::getBB</a></div><div class="ttdeci">virtual const SVFBasicBlock * getBB() const</div><div class="ttdoc">Return the basic block of this ICFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00092">ICFGNode.h:92</a></div></div>
2914
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a5c129ebf5ae55eb3af8bd670c921a646"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a5c129ebf5ae55eb3af8bd670c921a646">SVF::SaberCondAllocator::bbConds</a></div><div class="ttdeci">BBCondMap bbConds</div><div class="ttdoc">a counter for fresh condition</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00304">SaberCondAllocator.h:304</a></div></div>
2915
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a100c1962eac6d7af420defc827a025ed"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a100c1962eac6d7af420defc827a025ed">SVF::SaberCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(const Condition &amp;cond) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00114">SaberCondAllocator.h:114</a></div></div>
2992
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a5c129ebf5ae55eb3af8bd670c921a646"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a5c129ebf5ae55eb3af8bd670c921a646">SVF::SaberCondAllocator::bbConds</a></div><div class="ttdeci">BBCondMap bbConds</div><div class="ttdoc">map basic block to its successors/predecessors branch conditions</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00312">SaberCondAllocator.h:312</a></div></div>
2993
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a100c1962eac6d7af420defc827a025ed"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a100c1962eac6d7af420defc827a025ed">SVF::SaberCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(const Condition &amp;cond) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00115">SaberCondAllocator.h:115</a></div></div>
2916
2994
  <div class="ttc" id="aclassSVF_1_1BranchStmt_html_a915384027ae53e99311f05a08edf99f0"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a915384027ae53e99311f05a08edf99f0">SVF::BranchStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdoc">Return the condition.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00322">SVFStatements.cpp:322</a></div></div>
2917
2995
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab4eba98cf7306c89e40975c766d5bf65"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab4eba98cf7306c89e40975c766d5bf65">SVF::SaberCondAllocator::Condition</a></div><div class="ttdeci">Z3Expr Condition</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00051">SaberCondAllocator.h:51</a></div></div>
2918
2996
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00309">SVFUtil.h:309</a></div></div>
@@ -2922,42 +3000,43 @@ Static Private Attributes</h2></td></tr>
2922
3000
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a34be6721a311d72dcd355eeb41dbd3e1"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a34be6721a311d72dcd355eeb41dbd3e1">SVF::SaberCondAllocator::isTestContainsNullAndTheValue</a></div><div class="ttdeci">bool isTestContainsNullAndTheValue(const CmpStmt *cmp) const</div><div class="ttdoc">Return true if two values on the predicate are what we want.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00394">SaberCondAllocator.cpp:394</a></div></div>
2923
3001
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00708">SparseBitVector.h:708</a></div></div>
2924
3002
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_ac4c28c8d205d354f3a982119f29f2aac"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4c28c8d205d354f3a982119f29f2aac">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const SVFBasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00193">SVFValue.cpp:193</a></div></div>
2925
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9aec07a64b97d546cfa0efe10f888b6a"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9aec07a64b97d546cfa0efe10f888b6a">SVF::SaberCondAllocator::getCurEvalSVFGNode</a></div><div class="ttdeci">const SVFGNode * getCurEvalSVFGNode() const</div><div class="ttdoc">Get current value for branch condition evaluation.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00186">SaberCondAllocator.h:186</a></div></div>
3003
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9aec07a64b97d546cfa0efe10f888b6a"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9aec07a64b97d546cfa0efe10f888b6a">SVF::SaberCondAllocator::getCurEvalSVFGNode</a></div><div class="ttdeci">const SVFGNode * getCurEvalSVFGNode() const</div><div class="ttdoc">Get current value for branch condition evaluation.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00187">SaberCondAllocator.h:187</a></div></div>
2926
3004
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6528edf9a1750df4a84d1a60d4d0bbe4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">SVF::SVFUtil::isProgExitCall</a></div><div class="ttdeci">bool isProgExitCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00609">SVFUtil.h:609</a></div></div>
2927
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ad1620cc7482aeb464b53cfce64e17cc3"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ad1620cc7482aeb464b53cfce64e17cc3">SVF::SaberCondAllocator::funToExitBBsMap</a></div><div class="ttdeci">FunToExitBBsMap funToExitBBsMap</div><div class="ttdoc">map a function to all its basic blocks calling program exit</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00295">SaberCondAllocator.h:295</a></div></div>
2928
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ae8858c45c7406842ca967ed14f0b58e5"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ae8858c45c7406842ca967ed14f0b58e5">SVF::SaberCondAllocator::setNegCondInst</a></div><div class="ttdeci">void setNegCondInst(const Condition &amp;condition, const SVFInstruction *inst)</div><div class="ttdoc">mark neg Z3 expression</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00237">SaberCondAllocator.h:237</a></div></div>
3005
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ad1620cc7482aeb464b53cfce64e17cc3"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ad1620cc7482aeb464b53cfce64e17cc3">SVF::SaberCondAllocator::funToExitBBsMap</a></div><div class="ttdeci">FunToExitBBsMap funToExitBBsMap</div><div class="ttdoc">map a function to all its basic blocks calling program exit</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00302">SaberCondAllocator.h:302</a></div></div>
3006
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ae8858c45c7406842ca967ed14f0b58e5"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ae8858c45c7406842ca967ed14f0b58e5">SVF::SaberCondAllocator::setNegCondInst</a></div><div class="ttdeci">void setNegCondInst(const Condition &amp;condition, const SVFInstruction *inst)</div><div class="ttdoc">mark neg Z3 expression</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00238">SaberCondAllocator.h:238</a></div></div>
2929
3007
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aa330cc6a1a3c38601ebeb325ffd87221"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aa330cc6a1a3c38601ebeb325ffd87221">SVF::SaberCondAllocator::CondPosMap</a></div><div class="ttdeci">Map&lt; u32_t, Condition &gt; CondPosMap</div><div class="ttdoc">id to instruction map for z3</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00053">SaberCondAllocator.h:53</a></div></div>
2930
3008
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a4f56bd6d3a31df94e19af9ce6e685fea"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a4f56bd6d3a31df94e19af9ce6e685fea">SVF::Z3Expr::AND</a></div><div class="ttdeci">static Z3Expr AND(const Z3Expr &amp;lhs, const Z3Expr &amp;rhs)</div><div class="ttdoc">compute AND, used for branch condition</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00092">Z3Expr.cpp:92</a></div></div>
2931
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a6d29487d00d66dadae7b4b79f9bf50e9"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">SVF::SaberCondAllocator::bbToCondMap</a></div><div class="ttdeci">BBToCondMap bbToCondMap</div><div class="ttdoc">map a basic block to its path condition starting from root</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00296">SaberCondAllocator.h:296</a></div></div>
3009
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a6d29487d00d66dadae7b4b79f9bf50e9"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a6d29487d00d66dadae7b4b79f9bf50e9">SVF::SaberCondAllocator::bbToCondMap</a></div><div class="ttdeci">BBToCondMap bbToCondMap</div><div class="ttdoc">map a basic block to its path condition starting from root</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00303">SaberCondAllocator.h:303</a></div></div>
2932
3010
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
2933
3011
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00909">SVFStatements.h:909</a></div></div>
3012
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a0eb6b0b625f412cb603e5483ca88e8dc"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a0eb6b0b625f412cb603e5483ca88e8dc">SVF::SaberCondAllocator::removedSUVFEdges</a></div><div class="ttdeci">SVFGNodeToSVFGNodeSetMap removedSUVFEdges</div><div class="ttdoc">a counter for fresh condition</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00309">SaberCondAllocator.h:309</a></div></div>
2934
3013
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00946">SVFStatements.h:946</a></div></div>
2935
3014
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
2936
3015
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a25b84bca2e3a439ade40bb98fa7093f7"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a25b84bca2e3a439ade40bb98fa7093f7">SVF::SaberCondAllocator::evaluateTestNullLikeExpr</a></div><div class="ttdeci">Condition evaluateTestNullLikeExpr(const BranchStmt *branchStmt, const SVFBasicBlock *succ)</div><div class="ttdoc">Return branch condition after evaluating test null like expression.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00184">SaberCondAllocator.cpp:184</a></div></div>
2937
3016
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a060bb514ec1e8c3d80858d6a7d2ab8dc"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a060bb514ec1e8c3d80858d6a7d2ab8dc">SVF::SaberCondAllocator::allocateForBB</a></div><div class="ttdeci">virtual void allocateForBB(const SVFBasicBlock &amp;bb)</div><div class="ttdoc">Allocate path condition for every basic block.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00086">SaberCondAllocator.cpp:86</a></div></div>
2938
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ad5d27f65374025b6a105ea7a92cbdb50"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ad5d27f65374025b6a105ea7a92cbdb50">SVF::SaberCondAllocator::isNegCond</a></div><div class="ttdeci">bool isNegCond(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00141">SaberCondAllocator.h:141</a></div></div>
3017
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ad5d27f65374025b6a105ea7a92cbdb50"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ad5d27f65374025b6a105ea7a92cbdb50">SVF::SaberCondAllocator::isNegCond</a></div><div class="ttdeci">bool isNegCond(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00142">SaberCondAllocator.h:142</a></div></div>
2939
3018
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_aebc0d1aa674dec207a99c7fc148c9c36"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">SVF::SVFBasicBlock::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00616">SVFValue.h:616</a></div></div>
2940
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a4ac9b5ec6bfd7a7b468cb13a5e8803e0"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">SVF::SaberCondAllocator::curEvalSVFGNode</a></div><div class="ttdeci">const SVFGNode * curEvalSVFGNode</div><div class="ttdoc">current llvm value to evaluate branch condition when computing guards</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00297">SaberCondAllocator.h:297</a></div></div>
3019
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a4ac9b5ec6bfd7a7b468cb13a5e8803e0"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0">SVF::SaberCondAllocator::curEvalSVFGNode</a></div><div class="ttdeci">const SVFGNode * curEvalSVFGNode</div><div class="ttdoc">current llvm value to evaluate branch condition when computing guards</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00304">SaberCondAllocator.h:304</a></div></div>
2941
3020
  <div class="ttc" id="aclassSVF_1_1BranchStmt_html"><div class="ttname"><a href="classSVF_1_1BranchStmt.html">SVF::BranchStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01094">SVFStatements.h:1094</a></div></div>
2942
3021
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a5012a977e0db66a2ae111d4164936037"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a5012a977e0db66a2ae111d4164936037">SVF::SaberCondAllocator::setBranchCond</a></div><div class="ttdeci">void setBranchCond(const SVFBasicBlock *bb, const SVFBasicBlock *succ, const Condition &amp;cond)</div><div class="ttdoc">Get/Set a branch condition, and its terminator instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00166">SaberCondAllocator.cpp:166</a></div></div>
2943
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_afd6cf17070e3629ced1ac36b8e2b0bbb"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#afd6cf17070e3629ced1ac36b8e2b0bbb">SVF::SaberCondAllocator::conditionVec</a></div><div class="ttdeci">std::vector&lt; Condition &gt; conditionVec</div><div class="ttdoc">bit vector for distinguish neg</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00300">SaberCondAllocator.h:300</a></div></div>
3022
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_afd6cf17070e3629ced1ac36b8e2b0bbb"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#afd6cf17070e3629ced1ac36b8e2b0bbb">SVF::SaberCondAllocator::conditionVec</a></div><div class="ttdeci">std::vector&lt; Condition &gt; conditionVec</div><div class="ttdoc">bit vector for distinguish neg</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00307">SaberCondAllocator.h:307</a></div></div>
2944
3023
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00573">SVFValue.h:573</a></div></div>
2945
3024
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_a793f485e92d12cf407f2ffa41861eb3d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">SVF::SVFFunction::getEntryBlock</a></div><div class="ttdeci">const SVFBasicBlock * getEntryBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00410">SVFValue.h:410</a></div></div>
2946
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab9d7f1f5c5f22b190ec34255dead41b3"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab9d7f1f5c5f22b190ec34255dead41b3">SVF::SaberCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00098">SaberCondAllocator.h:98</a></div></div>
3025
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab9d7f1f5c5f22b190ec34255dead41b3"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab9d7f1f5c5f22b190ec34255dead41b3">SVF::SaberCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00099">SaberCondAllocator.h:99</a></div></div>
2947
3026
  <div class="ttc" id="aSVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DBUG model of each pass.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00576">SVFType.h:576</a></div></div>
2948
3027
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_af77d3631664b21a16818f54b03b5a832"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#af77d3631664b21a16818f54b03b5a832">SVF::SaberCondAllocator::ComputeIntraVFGGuard</a></div><div class="ttdeci">virtual Condition ComputeIntraVFGGuard(const SVFBasicBlock *src, const SVFBasicBlock *dst)</div><div class="ttdoc">Guard Computation for a value-flow (between two basic blocks)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00516">SaberCondAllocator.cpp:516</a></div></div>
2949
3028
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_ab61767b4608efbd2fc4139bb6781b824"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ab61767b4608efbd2fc4139bb6781b824">SVF::SaberCondAllocator::evaluateLoopExitBranch</a></div><div class="ttdeci">Condition evaluateLoopExitBranch(const SVFBasicBlock *bb, const SVFBasicBlock *succ)</div><div class="ttdoc">Evaluate loop exit branch.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00257">SaberCondAllocator.cpp:257</a></div></div>
2950
3029
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00626">SVFValue.h:626</a></div></div>
2951
3030
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_afdc3358522417de9a0d3a181a329f722"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00174">SVFUtil.h:174</a></div></div>
2952
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a6bd67514e0ea9a2704ae83a38c9f2592"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a6bd67514e0ea9a2704ae83a38c9f2592">SVF::SaberCondAllocator::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00207">SaberCondAllocator.h:207</a></div></div>
3031
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a6bd67514e0ea9a2704ae83a38c9f2592"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a6bd67514e0ea9a2704ae83a38c9f2592">SVF::SaberCondAllocator::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00208">SaberCondAllocator.h:208</a></div></div>
2953
3032
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_aaa0c9122f34208235a2d830432665752"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#aaa0c9122f34208235a2d830432665752">SVF::Z3Expr::getTrueCond</a></div><div class="ttdeci">static Z3Expr getTrueCond()</div><div class="ttdoc">Return the unique true condition.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00281">Z3Expr.h:281</a></div></div>
2954
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9c1660f4a9ecc161c0fb97c735a690b9"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9c1660f4a9ecc161c0fb97c735a690b9">SVF::SaberCondAllocator::setCFCond</a></div><div class="ttdeci">bool setCFCond(const SVFBasicBlock *bb, const Condition &amp;cond)</div><div class="ttdoc">Get/Set control-flow conditions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00214">SaberCondAllocator.h:214</a></div></div>
2955
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a76fad4d58db94d7c572876ba6f1adf83"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a76fad4d58db94d7c572876ba6f1adf83">SVF::SaberCondAllocator::totalCondNum</a></div><div class="ttdeci">static u32_t totalCondNum</div><div class="ttdoc">vector storing z3expression</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00301">SaberCondAllocator.h:301</a></div></div>
2956
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a2e4c3f5149a5085a5c8bb7547eae8161"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a2e4c3f5149a5085a5c8bb7547eae8161">SVF::SaberCondAllocator::condOr</a></div><div class="ttdeci">Condition condOr(const Condition &amp;lhs, const Condition &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00090">SaberCondAllocator.h:90</a></div></div>
3033
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9c1660f4a9ecc161c0fb97c735a690b9"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9c1660f4a9ecc161c0fb97c735a690b9">SVF::SaberCondAllocator::setCFCond</a></div><div class="ttdeci">bool setCFCond(const SVFBasicBlock *bb, const Condition &amp;cond)</div><div class="ttdoc">Get/Set control-flow conditions.</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00215">SaberCondAllocator.h:215</a></div></div>
3034
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a76fad4d58db94d7c572876ba6f1adf83"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a76fad4d58db94d7c572876ba6f1adf83">SVF::SaberCondAllocator::totalCondNum</a></div><div class="ttdeci">static u32_t totalCondNum</div><div class="ttdoc">vector storing z3expression</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00308">SaberCondAllocator.h:308</a></div></div>
3035
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a2e4c3f5149a5085a5c8bb7547eae8161"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a2e4c3f5149a5085a5c8bb7547eae8161">SVF::SaberCondAllocator::condOr</a></div><div class="ttdeci">Condition condOr(const Condition &amp;lhs, const Condition &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00091">SaberCondAllocator.h:91</a></div></div>
2957
3036
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a9d626dea5aa694799ec15a3b64021a35"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a9d626dea5aa694799ec15a3b64021a35">SVF::SaberCondAllocator::isBBCallsProgExit</a></div><div class="ttdeci">bool isBBCallsProgExit(const SVFBasicBlock *bb)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00443">SaberCondAllocator.cpp:443</a></div></div>
2958
3037
  <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_aeaac2e7be66c26cc10b0cad7d2040874"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#aeaac2e7be66c26cc10b0cad7d2040874">SVF::SaberCondAllocator::getEvalBrCond</a></div><div class="ttdeci">Condition getEvalBrCond(const SVFBasicBlock *bb, const SVFBasicBlock *succ)</div><div class="ttdoc">Get a condition, evaluate the value for conditions if necessary (e.g., testNull like express)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00155">SaberCondAllocator.cpp:155</a></div></div>
2959
3038
  <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>
2960
- <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a620d53b9af8dd30523c478f4e9655817"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a620d53b9af8dd30523c478f4e9655817">SVF::SaberCondAllocator::condNeg</a></div><div class="ttdeci">Condition condNeg(const Condition &amp;cond)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00094">SaberCondAllocator.h:94</a></div></div>
3039
+ <div class="ttc" id="aclassSVF_1_1SaberCondAllocator_html_a620d53b9af8dd30523c478f4e9655817"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a620d53b9af8dd30523c478f4e9655817">SVF::SaberCondAllocator::condNeg</a></div><div class="ttdeci">Condition condNeg(const Condition &amp;cond)</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00095">SaberCondAllocator.h:95</a></div></div>
2961
3040
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html_a16721e960145864d0835eb95f2ae4681"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#a16721e960145864d0835eb95f2ae4681">SVF::Z3Expr::getSolver</a></div><div class="ttdeci">static z3::solver &amp; getSolver()</div><div class="ttdoc">Get z3 solver, singleton design here to make sure we only have one context.</div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8cpp_source.html#l00056">Z3Expr.cpp:56</a></div></div>
2962
3041
  <!-- start footer part -->
2963
3042
  <hr class="footer"/><address class="footer"><small>