svf-tools 1.0.438 → 1.0.439

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 (387) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -9
  2. package/SVF-doxygen/html/html/BDDExpr_8cpp.html +81 -0
  3. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +122 -0
  4. package/SVF-doxygen/html/html/BDDExpr_8h.html +98 -0
  5. package/SVF-doxygen/html/html/BDDExpr_8h_source.html +131 -0
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  11. package/SVF-doxygen/html/html/DPItem_8h.html +1 -1
  12. package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -2
  13. package/SVF-doxygen/html/html/ExeState_8cpp.html +82 -0
  14. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +127 -0
  15. package/SVF-doxygen/html/html/ExeState_8h.html +139 -0
  16. package/SVF-doxygen/html/html/ExeState_8h_source.html +128 -0
  17. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h.html +1 -1
  20. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/FlowSensitive_8cpp.html +1 -1
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
  23. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/IRAnnotator_8h.html +2 -2
  25. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  37. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/Options_8cpp_source.html +113 -114
  39. package/SVF-doxygen/html/html/Options_8h.html +0 -1
  40. package/SVF-doxygen/html/html/Options_8h_source.html +115 -117
  41. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -5
  43. package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -1
  44. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +24 -24
  45. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  48. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
  51. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  52. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  53. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  56. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +1 -1
  57. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  60. package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
  61. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +6 -6
  62. package/SVF-doxygen/html/html/SrcSnkSolver_8h.html +96 -0
  63. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +113 -0
  64. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp.html +3 -3
  69. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  70. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h.html +2 -2
  71. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  72. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/html/Z3Expr_8h.html +99 -0
  76. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +126 -0
  77. package/SVF-doxygen/html/html/annotated.html +272 -275
  78. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  81. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager-members.html +117 -0
  82. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +1318 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  84. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +0 -9
  90. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  94. package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +3 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1DPItem.png +0 -0
  96. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +76 -76
  97. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
  98. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +111 -0
  100. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1173 -0
  101. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +78 -78
  103. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +64 -64
  104. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  108. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  114. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +74 -74
  115. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +68 -68
  116. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
  117. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  123. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  124. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  125. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  129. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -103
  132. package/SVF-doxygen/html/html/classSVF_1_1Options.html +115 -141
  133. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  134. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +3 -3
  135. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +131 -132
  136. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
  138. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
  145. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +66 -66
  147. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +86 -86
  148. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
  149. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +106 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +937 -0
  151. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +2 -3
  153. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.png +0 -0
  154. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  156. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  157. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
  167. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +46 -15
  168. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1451 -104
  169. package/SVF-doxygen/html/html/classes.html +96 -96
  170. package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +2 -0
  171. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +2 -0
  172. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +4 -4
  173. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +6 -10
  174. package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +2 -0
  175. package/SVF-doxygen/html/html/dir_fdb79cd259bf25322a80ea604c9317b5.html +2 -0
  176. package/SVF-doxygen/html/html/files.html +42 -40
  177. package/SVF-doxygen/html/html/functions.html +2 -2
  178. package/SVF-doxygen/html/html/functions_0x7e.html +9 -21
  179. package/SVF-doxygen/html/html/functions_a.html +8 -16
  180. package/SVF-doxygen/html/html/functions_b.html +21 -34
  181. package/SVF-doxygen/html/html/functions_c.html +33 -63
  182. package/SVF-doxygen/html/html/functions_d.html +3 -6
  183. package/SVF-doxygen/html/html/functions_e.html +11 -13
  184. package/SVF-doxygen/html/html/functions_enum.html +0 -6
  185. package/SVF-doxygen/html/html/functions_eval_b.html +0 -6
  186. package/SVF-doxygen/html/html/functions_f.html +6 -6
  187. package/SVF-doxygen/html/html/functions_func.html +8 -19
  188. package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -21
  189. package/SVF-doxygen/html/html/functions_func_b.html +12 -15
  190. package/SVF-doxygen/html/html/functions_func_c.html +23 -38
  191. package/SVF-doxygen/html/html/functions_func_d.html +4 -7
  192. package/SVF-doxygen/html/html/functions_func_e.html +5 -4
  193. package/SVF-doxygen/html/html/functions_func_f.html +5 -5
  194. package/SVF-doxygen/html/html/functions_func_g.html +48 -49
  195. package/SVF-doxygen/html/html/functions_func_h.html +2 -7
  196. package/SVF-doxygen/html/html/functions_func_i.html +33 -21
  197. package/SVF-doxygen/html/html/functions_func_l.html +6 -3
  198. package/SVF-doxygen/html/html/functions_func_m.html +0 -1
  199. package/SVF-doxygen/html/html/functions_func_n.html +5 -4
  200. package/SVF-doxygen/html/html/functions_func_o.html +11 -13
  201. package/SVF-doxygen/html/html/functions_func_p.html +7 -17
  202. package/SVF-doxygen/html/html/functions_func_r.html +8 -5
  203. package/SVF-doxygen/html/html/functions_func_s.html +16 -13
  204. package/SVF-doxygen/html/html/functions_func_t.html +3 -1
  205. package/SVF-doxygen/html/html/functions_func_v.html +1 -7
  206. package/SVF-doxygen/html/html/functions_func_z.html +3 -3
  207. package/SVF-doxygen/html/html/functions_g.html +51 -52
  208. package/SVF-doxygen/html/html/functions_h.html +3 -8
  209. package/SVF-doxygen/html/html/functions_i.html +44 -32
  210. package/SVF-doxygen/html/html/functions_l.html +18 -7
  211. package/SVF-doxygen/html/html/functions_m.html +2 -3
  212. package/SVF-doxygen/html/html/functions_n.html +10 -12
  213. package/SVF-doxygen/html/html/functions_o.html +64 -24
  214. package/SVF-doxygen/html/html/functions_p.html +24 -34
  215. package/SVF-doxygen/html/html/functions_r.html +8 -7
  216. package/SVF-doxygen/html/html/functions_rela.html +78 -4
  217. package/SVF-doxygen/html/html/functions_s.html +31 -26
  218. package/SVF-doxygen/html/html/functions_t.html +9 -9
  219. package/SVF-doxygen/html/html/functions_type_b.html +2 -6
  220. package/SVF-doxygen/html/html/functions_type_c.html +4 -4
  221. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  222. package/SVF-doxygen/html/html/functions_type_g.html +5 -5
  223. package/SVF-doxygen/html/html/functions_type_i.html +4 -7
  224. package/SVF-doxygen/html/html/functions_type_l.html +3 -0
  225. package/SVF-doxygen/html/html/functions_type_n.html +2 -2
  226. package/SVF-doxygen/html/html/functions_type_p.html +0 -4
  227. package/SVF-doxygen/html/html/functions_type_v.html +3 -0
  228. package/SVF-doxygen/html/html/functions_type_w.html +2 -2
  229. package/SVF-doxygen/html/html/functions_v.html +10 -13
  230. package/SVF-doxygen/html/html/functions_vars.html +2 -2
  231. package/SVF-doxygen/html/html/functions_vars_b.html +2 -5
  232. package/SVF-doxygen/html/html/functions_vars_c.html +3 -10
  233. package/SVF-doxygen/html/html/functions_vars_e.html +1 -4
  234. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  235. package/SVF-doxygen/html/html/functions_vars_i.html +1 -4
  236. package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
  237. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  238. package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
  239. package/SVF-doxygen/html/html/functions_vars_p.html +3 -3
  240. package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
  241. package/SVF-doxygen/html/html/functions_vars_t.html +2 -2
  242. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  243. package/SVF-doxygen/html/html/functions_vars_w.html +1 -1
  244. package/SVF-doxygen/html/html/functions_w.html +12 -8
  245. package/SVF-doxygen/html/html/functions_z.html +3 -13
  246. package/SVF-doxygen/html/html/globals.html +3 -0
  247. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  248. package/SVF-doxygen/html/html/globals_defs_f.html +3 -0
  249. package/SVF-doxygen/html/html/globals_f.html +5 -2
  250. package/SVF-doxygen/html/html/globals_s.html +6 -6
  251. package/SVF-doxygen/html/html/hierarchy.html +422 -425
  252. package/SVF-doxygen/html/html/menudata.js +4 -4
  253. package/SVF-doxygen/html/html/namespaceSVF.html +10 -57
  254. package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
  255. package/SVF-doxygen/html/html/namespacemembers_type.html +1 -7
  256. package/SVF-doxygen/html/html/namespacemembers_v.html +0 -6
  257. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  258. package/SVF-doxygen/html/html/search/all_1.js +3 -4
  259. package/SVF-doxygen/html/html/search/all_10.js +12 -17
  260. package/SVF-doxygen/html/html/search/all_12.js +3 -2
  261. package/SVF-doxygen/html/html/search/all_13.js +18 -17
  262. package/SVF-doxygen/html/html/search/all_14.js +7 -6
  263. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  264. package/SVF-doxygen/html/html/search/all_16.js +3 -6
  265. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  266. package/SVF-doxygen/html/html/search/all_1a.js +3 -5
  267. package/SVF-doxygen/html/html/search/all_1b.js +4 -8
  268. package/SVF-doxygen/html/html/search/all_2.js +13 -14
  269. package/SVF-doxygen/html/html/search/all_3.js +14 -24
  270. package/SVF-doxygen/html/html/search/all_4.js +3 -3
  271. package/SVF-doxygen/html/html/search/all_5.js +7 -4
  272. package/SVF-doxygen/html/html/search/all_6.js +5 -4
  273. package/SVF-doxygen/html/html/search/all_7.js +28 -25
  274. package/SVF-doxygen/html/html/search/all_8.js +4 -3
  275. package/SVF-doxygen/html/html/search/all_9.js +18 -12
  276. package/SVF-doxygen/html/html/search/all_c.js +4 -2
  277. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  278. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  279. package/SVF-doxygen/html/html/search/all_f.js +25 -16
  280. package/SVF-doxygen/html/html/search/classes_1.js +1 -2
  281. package/SVF-doxygen/html/html/search/classes_12.js +1 -2
  282. package/SVF-doxygen/html/html/search/classes_14.js +1 -2
  283. package/SVF-doxygen/html/html/search/classes_2.js +0 -3
  284. package/SVF-doxygen/html/html/search/classes_4.js +1 -0
  285. package/SVF-doxygen/html/html/search/classes_7.js +3 -1
  286. package/SVF-doxygen/html/html/search/classes_d.js +0 -1
  287. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  288. package/SVF-doxygen/html/html/search/defines_0.js +1 -0
  289. package/SVF-doxygen/html/html/search/defines_5.js +1 -0
  290. package/SVF-doxygen/html/html/search/enums_1.js +0 -2
  291. package/SVF-doxygen/html/html/search/enumvalues_1.js +0 -2
  292. package/SVF-doxygen/html/html/search/files_1.js +2 -0
  293. package/SVF-doxygen/html/html/search/files_12.html +26 -0
  294. package/SVF-doxygen/html/html/search/files_12.js +4 -0
  295. package/SVF-doxygen/html/html/search/files_2.js +0 -3
  296. package/SVF-doxygen/html/html/search/files_4.js +2 -0
  297. package/SVF-doxygen/html/html/search/files_c.js +0 -1
  298. package/SVF-doxygen/html/html/search/files_d.js +1 -0
  299. package/SVF-doxygen/html/html/search/functions_0.js +1 -4
  300. package/SVF-doxygen/html/html/search/functions_1.js +8 -9
  301. package/SVF-doxygen/html/html/search/functions_10.js +7 -6
  302. package/SVF-doxygen/html/html/search/functions_11.js +2 -1
  303. package/SVF-doxygen/html/html/search/functions_13.js +0 -2
  304. package/SVF-doxygen/html/html/search/functions_15.js +2 -2
  305. package/SVF-doxygen/html/html/search/functions_16.js +4 -8
  306. package/SVF-doxygen/html/html/search/functions_2.js +5 -8
  307. package/SVF-doxygen/html/html/search/functions_3.js +3 -3
  308. package/SVF-doxygen/html/html/search/functions_4.js +2 -1
  309. package/SVF-doxygen/html/html/search/functions_5.js +3 -3
  310. package/SVF-doxygen/html/html/search/functions_6.js +25 -22
  311. package/SVF-doxygen/html/html/search/functions_7.js +2 -3
  312. package/SVF-doxygen/html/html/search/functions_8.js +12 -6
  313. package/SVF-doxygen/html/html/search/functions_a.js +1 -0
  314. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  315. package/SVF-doxygen/html/html/search/functions_c.js +2 -1
  316. package/SVF-doxygen/html/html/search/functions_d.js +7 -7
  317. package/SVF-doxygen/html/html/search/functions_e.js +5 -8
  318. package/SVF-doxygen/html/html/search/functions_f.js +2 -1
  319. package/SVF-doxygen/html/html/search/related_0.js +1 -2
  320. package/SVF-doxygen/html/html/search/related_1.js +1 -2
  321. package/SVF-doxygen/html/html/search/related_2.js +1 -1
  322. package/SVF-doxygen/html/html/search/related_3.js +2 -1
  323. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  324. package/SVF-doxygen/html/html/search/related_5.js +1 -2
  325. package/SVF-doxygen/html/html/search/related_6.js +4 -1
  326. package/SVF-doxygen/html/html/search/related_7.js +2 -4
  327. package/SVF-doxygen/html/html/search/related_8.js +18 -1
  328. package/SVF-doxygen/html/html/search/related_9.js +4 -6
  329. package/SVF-doxygen/html/html/search/related_a.js +1 -2
  330. package/SVF-doxygen/html/html/search/related_b.js +7 -2
  331. package/SVF-doxygen/html/html/search/related_c.html +26 -0
  332. package/SVF-doxygen/html/html/search/related_c.js +5 -0
  333. package/SVF-doxygen/html/html/search/related_d.html +26 -0
  334. package/SVF-doxygen/html/html/search/related_d.js +5 -0
  335. package/SVF-doxygen/html/html/search/searchdata.js +4 -4
  336. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -2
  337. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -2
  338. package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
  339. package/SVF-doxygen/html/html/search/typedefs_2.js +4 -4
  340. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  341. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  342. package/SVF-doxygen/html/html/search/typedefs_8.js +3 -4
  343. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -0
  344. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
  345. package/SVF-doxygen/html/html/search/typedefs_f.js +0 -1
  346. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  347. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_13.js +0 -1
  349. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  350. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  351. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  352. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  353. package/SVF-doxygen/html/html/search/variables_2.js +1 -2
  354. package/SVF-doxygen/html/html/search/variables_3.js +4 -6
  355. package/SVF-doxygen/html/html/search/variables_5.js +1 -2
  356. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  357. package/SVF-doxygen/html/html/search/variables_9.js +1 -2
  358. package/SVF-doxygen/html/html/search/variables_c.js +1 -0
  359. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  360. package/SVF-doxygen/html/html/search/variables_e.js +1 -2
  361. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4-members.html +81 -0
  362. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +131 -0
  363. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4-members.html +81 -0
  364. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +131 -0
  365. package/include/SABER/PathCondAllocator.h +4 -4
  366. package/include/SABER/SrcSnkDDA.h +2 -2
  367. package/include/{Util/CFLSolver.h → SABER/SrcSnkSolver.h} +5 -5
  368. package/include/{Util → SVF-FE}/IRAnnotator.h +0 -0
  369. package/include/Util/BDDExpr.h +182 -0
  370. package/include/Util/DPItem.h +1 -1
  371. package/include/Util/ExeState.h +172 -0
  372. package/include/Util/Options.h +0 -3
  373. package/include/Util/Z3Expr.h +235 -0
  374. package/include/WPA/FlowSensitiveTBHC.h +1 -1
  375. package/include/{Util → WPA}/TypeBasedHeapCloning.h +0 -0
  376. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  377. package/lib/SABER/PathCondAllocator.cpp +1 -1
  378. package/lib/Util/BDDExpr.cpp +206 -0
  379. package/lib/Util/ExeState.cpp +248 -0
  380. package/lib/Util/Options.cpp +0 -11
  381. package/lib/Util/SVFUtil.cpp +1 -1
  382. package/lib/WPA/FlowSensitive.cpp +1 -1
  383. package/lib/{Util → WPA}/TypeBasedHeapCloning.cpp +1 -1
  384. package/package.json +1 -1
  385. package/include/Util/Conditions.h +0 -421
  386. package/include/Util/PathDPItem.h +0 -310
  387. package/lib/Util/Conditions.cpp +0 -440
@@ -80,10 +80,10 @@ Inheritance diagram for SVF::LeakChecker:</div>
80
80
  <div class="center">
81
81
  <img src="classSVF_1_1LeakChecker.png" usemap="#SVF::LeakChecker_map" alt=""/>
82
82
  <map id="SVF::LeakChecker_map" name="SVF::LeakChecker_map">
83
- <area href="classSVF_1_1SrcSnkDDA.html" alt="SVF::SrcSnkDDA" shape="rect" coords="125,56,365,80"/>
84
- <area href="classSVF_1_1CFLSolver.html" alt="SVF::CFLSolver&lt; GraphType, DPIm &gt;" shape="rect" coords="125,0,365,24"/>
85
- <area href="classSVF_1_1DoubleFreeChecker.html" alt="SVF::DoubleFreeChecker" shape="rect" coords="0,168,240,192"/>
86
- <area href="classSVF_1_1FileChecker.html" alt="SVF::FileChecker" shape="rect" coords="250,168,490,192"/>
83
+ <area href="classSVF_1_1SrcSnkDDA.html" alt="SVF::SrcSnkDDA" shape="rect" coords="133,56,390,80"/>
84
+ <area href="classSVF_1_1SrcSnkSolver.html" alt="SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;" shape="rect" coords="133,0,390,24"/>
85
+ <area href="classSVF_1_1DoubleFreeChecker.html" alt="SVF::DoubleFreeChecker" shape="rect" coords="0,168,257,192"/>
86
+ <area href="classSVF_1_1FileChecker.html" alt="SVF::FileChecker" shape="rect" coords="267,168,524,192"/>
87
87
  </map>
88
88
  </div></div>
89
89
  <table class="memberdecls">
@@ -124,26 +124,26 @@ Public Types</h2></td></tr>
124
124
  <tr class="separator:a70cff8ea7c033c01400935c9e446f2c6 inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
125
  <tr class="memitem:a3c0d8850c4dae49a760ce5f80fb8822a inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1ProgSlice.html#a684e44ade783439c6f77a8d84eed282c">ProgSlice::VFWorkList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a3c0d8850c4dae49a760ce5f80fb8822a">WorkList</a></td></tr>
126
126
  <tr class="separator:a3c0d8850c4dae49a760ce5f80fb8822a inherit pub_types_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
- <tr class="inherit_header pub_types_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver&lt; GraphType, DPIm &gt;</a></td></tr>
128
- <tr class="memitem:afdead1450dbc71d4430ab660733ff85c inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; GraphType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#afdead1450dbc71d4430ab660733ff85c">GTraits</a></td></tr>
129
- <tr class="memdesc:afdead1450dbc71d4430ab660733ff85c inherit pub_types_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the GTraits and node iterator. <a href="classSVF_1_1CFLSolver.html#afdead1450dbc71d4430ab660733ff85c">More...</a><br /></td></tr>
130
- <tr class="separator:afdead1450dbc71d4430ab660733ff85c inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
- <tr class="memitem:a7a180d7878fc7b4c055fa72298398127 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::NodeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a7a180d7878fc7b4c055fa72298398127">GNODE</a></td></tr>
132
- <tr class="separator:a7a180d7878fc7b4c055fa72298398127 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:aaddd6c593ad39c117bd35ede711b9f36 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::EdgeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#aaddd6c593ad39c117bd35ede711b9f36">GEDGE</a></td></tr>
134
- <tr class="separator:aaddd6c593ad39c117bd35ede711b9f36 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
- <tr class="memitem:a586cfb2dd110d1853e70e534e0f66624 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::nodes_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a586cfb2dd110d1853e70e534e0f66624">node_iterator</a></td></tr>
136
- <tr class="separator:a586cfb2dd110d1853e70e534e0f66624 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
- <tr class="memitem:adf0b96a758a29d5c3c46fcc48081b62c inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#adf0b96a758a29d5c3c46fcc48081b62c">child_iterator</a></td></tr>
138
- <tr class="separator:adf0b96a758a29d5c3c46fcc48081b62c inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
- <tr class="memitem:ae507eecc97716000324820bb1a7a9573 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; llvm::Inverse&lt; <a class="el" href="classSVF_1_1CFLSolver.html#a7a180d7878fc7b4c055fa72298398127">GNODE</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ae507eecc97716000324820bb1a7a9573">InvGTraits</a></td></tr>
140
- <tr class="memdesc:ae507eecc97716000324820bb1a7a9573 inherit pub_types_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define inverse GTraits and note iterator. <a href="classSVF_1_1CFLSolver.html#ae507eecc97716000324820bb1a7a9573">More...</a><br /></td></tr>
141
- <tr class="separator:ae507eecc97716000324820bb1a7a9573 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
- <tr class="memitem:a98613e4d455a53183d1f16a58de6244e inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef InvGTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a98613e4d455a53183d1f16a58de6244e">inv_child_iterator</a></td></tr>
143
- <tr class="separator:a98613e4d455a53183d1f16a58de6244e inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
- <tr class="memitem:a802e04eafce9adfd60506c44951c3d53 inherit pub_types_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; DPIm &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a802e04eafce9adfd60506c44951c3d53">WorkList</a></td></tr>
145
- <tr class="memdesc:a802e04eafce9adfd60506c44951c3d53 inherit pub_types_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define worklist. <a href="classSVF_1_1CFLSolver.html#a802e04eafce9adfd60506c44951c3d53">More...</a><br /></td></tr>
146
- <tr class="separator:a802e04eafce9adfd60506c44951c3d53 inherit pub_types_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+ <tr class="inherit_header pub_types_classSVF_1_1SrcSnkSolver"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1SrcSnkSolver')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td></tr>
128
+ <tr class="memitem:a40c3ad6a16099d14654d6f59a1bae238 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; GraphType &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a40c3ad6a16099d14654d6f59a1bae238">GTraits</a></td></tr>
129
+ <tr class="memdesc:a40c3ad6a16099d14654d6f59a1bae238 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define the GTraits and node iterator. <a href="classSVF_1_1SrcSnkSolver.html#a40c3ad6a16099d14654d6f59a1bae238">More...</a><br /></td></tr>
130
+ <tr class="separator:a40c3ad6a16099d14654d6f59a1bae238 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
+ <tr class="memitem:aad6cad7d89663ac4466f97dac63ee385 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::NodeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a></td></tr>
132
+ <tr class="separator:aad6cad7d89663ac4466f97dac63ee385 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
+ <tr class="memitem:a6007c2d795370bb48ad120af5474a31f inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::EdgeType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a></td></tr>
134
+ <tr class="separator:a6007c2d795370bb48ad120af5474a31f inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
+ <tr class="memitem:a14a76b28f06e167bf66e15b336570cd3 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::nodes_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a14a76b28f06e167bf66e15b336570cd3">node_iterator</a></td></tr>
136
+ <tr class="separator:a14a76b28f06e167bf66e15b336570cd3 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
+ <tr class="memitem:a78684539084301715a665f0aece23c8e inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef GTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a78684539084301715a665f0aece23c8e">child_iterator</a></td></tr>
138
+ <tr class="separator:a78684539084301715a665f0aece23c8e inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+ <tr class="memitem:ad50e99f38fe6569107d0461d96f735ae inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef llvm::GraphTraits&lt; llvm::Inverse&lt; <a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> * &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ad50e99f38fe6569107d0461d96f735ae">InvGTraits</a></td></tr>
140
+ <tr class="memdesc:ad50e99f38fe6569107d0461d96f735ae inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define inverse GTraits and note iterator. <a href="classSVF_1_1SrcSnkSolver.html#ad50e99f38fe6569107d0461d96f735ae">More...</a><br /></td></tr>
141
+ <tr class="separator:ad50e99f38fe6569107d0461d96f735ae inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
+ <tr class="memitem:acb3b73c60427a78ad8dd12d651202d78 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef InvGTraits::ChildIteratorType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#acb3b73c60427a78ad8dd12d651202d78">inv_child_iterator</a></td></tr>
143
+ <tr class="separator:acb3b73c60427a78ad8dd12d651202d78 inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
+ <tr class="memitem:a19861635c58ef6db7347c22daabf80da inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>&lt; DPIm &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">WorkList</a></td></tr>
145
+ <tr class="memdesc:a19861635c58ef6db7347c22daabf80da inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define worklist. <a href="classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da">More...</a><br /></td></tr>
146
+ <tr class="separator:a19861635c58ef6db7347c22daabf80da inherit pub_types_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
147
  </table><table class="memberdecls">
148
148
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
149
149
  Public Member Functions</h2></td></tr>
@@ -299,47 +299,47 @@ Protected Member Functions</h2></td></tr>
299
299
  <tr class="separator:a8817604b20724703121e9466e5cdb4cd inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2">&#160;</td></tr>
300
300
  <tr class="memitem:ae3d665ff1e796348131e797eb0283bfb inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#ae3d665ff1e796348131e797eb0283bfb">printBDDStat</a> ()</td></tr>
301
301
  <tr class="separator:ae3d665ff1e796348131e797eb0283bfb inherit pro_methods_classSVF_1_1SrcSnkDDA"><td class="memSeparator" colspan="2">&#160;</td></tr>
302
- <tr class="inherit_header pro_methods_classSVF_1_1CFLSolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1CFLSolver')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classSVF_1_1CFLSolver.html">SVF::CFLSolver&lt; GraphType, DPIm &gt;</a></td></tr>
303
- <tr class="memitem:ab339e69dd2f2aa2f98fb549e979838af inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ab339e69dd2f2aa2f98fb549e979838af">CFLSolver</a> ()</td></tr>
304
- <tr class="memdesc:ab339e69dd2f2aa2f98fb549e979838af inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1CFLSolver.html#ab339e69dd2f2aa2f98fb549e979838af">More...</a><br /></td></tr>
305
- <tr class="separator:ab339e69dd2f2aa2f98fb549e979838af inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
306
- <tr class="memitem:ac37d5e6e81edcc0a6c53e02d7d343f5b inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ac37d5e6e81edcc0a6c53e02d7d343f5b">~CFLSolver</a> ()</td></tr>
307
- <tr class="memdesc:ac37d5e6e81edcc0a6c53e02d7d343f5b inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classSVF_1_1CFLSolver.html#ac37d5e6e81edcc0a6c53e02d7d343f5b">More...</a><br /></td></tr>
308
- <tr class="separator:ac37d5e6e81edcc0a6c53e02d7d343f5b inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
309
- <tr class="memitem:adaa8ca9296ec3e9b6ec544a105296d22 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CFLSolver.html#a7a180d7878fc7b4c055fa72298398127">GNODE</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#adaa8ca9296ec3e9b6ec544a105296d22">getNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
310
- <tr class="separator:adaa8ca9296ec3e9b6ec544a105296d22 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
311
- <tr class="memitem:a31199503d0ed7aff97d4620b3599dea6 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a31199503d0ed7aff97d4620b3599dea6">getNodeIDFromItem</a> (const DPIm &amp;item) const</td></tr>
312
- <tr class="separator:a31199503d0ed7aff97d4620b3599dea6 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
313
- <tr class="memitem:ac9dc4e29fde45a19d42987360ee5f528 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ac9dc4e29fde45a19d42987360ee5f528">forwardTraverse</a> (DPIm &amp;it)</td></tr>
314
- <tr class="memdesc:ac9dc4e29fde45a19d42987360ee5f528 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1CFLSolver.html#ac9dc4e29fde45a19d42987360ee5f528">More...</a><br /></td></tr>
315
- <tr class="separator:ac9dc4e29fde45a19d42987360ee5f528 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
316
- <tr class="memitem:abf651315ae100f9d4df5d183f7d43c68 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#abf651315ae100f9d4df5d183f7d43c68">backwardTraverse</a> (DPIm &amp;it)</td></tr>
317
- <tr class="memdesc:abf651315ae100f9d4df5d183f7d43c68 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1CFLSolver.html#abf651315ae100f9d4df5d183f7d43c68">More...</a><br /></td></tr>
318
- <tr class="separator:abf651315ae100f9d4df5d183f7d43c68 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
319
- <tr class="memitem:a9fc4cbe8985d4c25845d408ffcac13e4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">const GraphType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a9fc4cbe8985d4c25845d408ffcac13e4">graph</a> () const</td></tr>
320
- <tr class="memdesc:a9fc4cbe8985d4c25845d408ffcac13e4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get/Set graph methods. <a href="classSVF_1_1CFLSolver.html#a9fc4cbe8985d4c25845d408ffcac13e4">More...</a><br /></td></tr>
321
- <tr class="separator:a9fc4cbe8985d4c25845d408ffcac13e4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
322
- <tr class="memitem:ae0a02179b2489f65988819666ec52a7c inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ae0a02179b2489f65988819666ec52a7c">setGraph</a> (GraphType g)</td></tr>
323
- <tr class="separator:ae0a02179b2489f65988819666ec52a7c inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
324
- <tr class="memitem:a6d7361281bbf666a2f5da87f7ea869d2 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a6d7361281bbf666a2f5da87f7ea869d2">FWProcessCurNode</a> (const DPIm &amp;)</td></tr>
325
- <tr class="memdesc:a6d7361281bbf666a2f5da87f7ea869d2 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the DP item. <a href="classSVF_1_1CFLSolver.html#a6d7361281bbf666a2f5da87f7ea869d2">More...</a><br /></td></tr>
326
- <tr class="separator:a6d7361281bbf666a2f5da87f7ea869d2 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
327
- <tr class="memitem:ab444cce6a5c75c7e6c65d47039e567a8 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#ab444cce6a5c75c7e6c65d47039e567a8">BWProcessCurNode</a> (const DPIm &amp;)</td></tr>
328
- <tr class="separator:ab444cce6a5c75c7e6c65d47039e567a8 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
329
- <tr class="memitem:a39b079c9b8a1b4570176028de79e85a4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a39b079c9b8a1b4570176028de79e85a4">FWProcessOutgoingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1CFLSolver.html#aaddd6c593ad39c117bd35ede711b9f36">GEDGE</a> *edge)</td></tr>
330
- <tr class="memdesc:a39b079c9b8a1b4570176028de79e85a4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Propagation for the solving, to be implemented in the child class. <a href="classSVF_1_1CFLSolver.html#a39b079c9b8a1b4570176028de79e85a4">More...</a><br /></td></tr>
331
- <tr class="separator:a39b079c9b8a1b4570176028de79e85a4 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
332
- <tr class="memitem:a3d5550fbb149297022d5a1852f3229b3 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a3d5550fbb149297022d5a1852f3229b3">BWProcessIncomingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1CFLSolver.html#aaddd6c593ad39c117bd35ede711b9f36">GEDGE</a> *edge)</td></tr>
333
- <tr class="separator:a3d5550fbb149297022d5a1852f3229b3 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
334
- <tr class="memitem:a88f770b4762d44e50d72cd50bb504078 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">DPIm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a88f770b4762d44e50d72cd50bb504078">popFromWorklist</a> ()</td></tr>
335
- <tr class="memdesc:a88f770b4762d44e50d72cd50bb504078 inherit pro_methods_classSVF_1_1CFLSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1CFLSolver.html#a88f770b4762d44e50d72cd50bb504078">More...</a><br /></td></tr>
336
- <tr class="separator:a88f770b4762d44e50d72cd50bb504078 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
337
- <tr class="memitem:a28cd2677717b19c9cd8ab3c1c441d409 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a28cd2677717b19c9cd8ab3c1c441d409">pushIntoWorklist</a> (DPIm &amp;item)</td></tr>
338
- <tr class="separator:a28cd2677717b19c9cd8ab3c1c441d409 inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
339
- <tr class="memitem:a4f35edfc7c4e4a35c9948ab5abd1a6ad inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a4f35edfc7c4e4a35c9948ab5abd1a6ad">isWorklistEmpty</a> ()</td></tr>
340
- <tr class="separator:a4f35edfc7c4e4a35c9948ab5abd1a6ad inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
341
- <tr class="memitem:a435454f52e5be39c960052f1947b984d inherit pro_methods_classSVF_1_1CFLSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1CFLSolver.html#a435454f52e5be39c960052f1947b984d">isInWorklist</a> (DPIm &amp;item)</td></tr>
342
- <tr class="separator:a435454f52e5be39c960052f1947b984d inherit pro_methods_classSVF_1_1CFLSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
302
+ <tr class="inherit_header pro_methods_classSVF_1_1SrcSnkSolver"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1SrcSnkSolver')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classSVF_1_1SrcSnkSolver.html">SVF::SrcSnkSolver&lt; GraphType, DPIm &gt;</a></td></tr>
303
+ <tr class="memitem:a952450652e55f3325f24b8d237d2c37d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a952450652e55f3325f24b8d237d2c37d">SrcSnkSolver</a> ()</td></tr>
304
+ <tr class="memdesc:a952450652e55f3325f24b8d237d2c37d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classSVF_1_1SrcSnkSolver.html#a952450652e55f3325f24b8d237d2c37d">More...</a><br /></td></tr>
305
+ <tr class="separator:a952450652e55f3325f24b8d237d2c37d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
306
+ <tr class="memitem:a2e5019545fc7175402eb6bd6d898afa9 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a2e5019545fc7175402eb6bd6d898afa9">~SrcSnkSolver</a> ()</td></tr>
307
+ <tr class="memdesc:a2e5019545fc7175402eb6bd6d898afa9 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="classSVF_1_1SrcSnkSolver.html#a2e5019545fc7175402eb6bd6d898afa9">More...</a><br /></td></tr>
308
+ <tr class="separator:a2e5019545fc7175402eb6bd6d898afa9 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
309
+ <tr class="memitem:a18008d5496010aa5f54aade230bd64ff inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aad6cad7d89663ac4466f97dac63ee385">GNODE</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a18008d5496010aa5f54aade230bd64ff">getNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id) const</td></tr>
310
+ <tr class="separator:a18008d5496010aa5f54aade230bd64ff inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
311
+ <tr class="memitem:ab37d80b1c7a1ebfa0e19c70792c5129e inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab37d80b1c7a1ebfa0e19c70792c5129e">getNodeIDFromItem</a> (const DPIm &amp;item) const</td></tr>
312
+ <tr class="separator:ab37d80b1c7a1ebfa0e19c70792c5129e inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
313
+ <tr class="memitem:ab0a1ee24b5899d54b65f0c7a92b7b52d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab0a1ee24b5899d54b65f0c7a92b7b52d">forwardTraverse</a> (DPIm &amp;it)</td></tr>
314
+ <tr class="memdesc:ab0a1ee24b5899d54b65f0c7a92b7b52d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1SrcSnkSolver.html#ab0a1ee24b5899d54b65f0c7a92b7b52d">More...</a><br /></td></tr>
315
+ <tr class="separator:ab0a1ee24b5899d54b65f0c7a92b7b52d inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
316
+ <tr class="memitem:a9c2fbfa1a4563ce45726ae79f0f34fcc inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a9c2fbfa1a4563ce45726ae79f0f34fcc">backwardTraverse</a> (DPIm &amp;it)</td></tr>
317
+ <tr class="memdesc:a9c2fbfa1a4563ce45726ae79f0f34fcc inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">CFL forward traverse solve. <a href="classSVF_1_1SrcSnkSolver.html#a9c2fbfa1a4563ce45726ae79f0f34fcc">More...</a><br /></td></tr>
318
+ <tr class="separator:a9c2fbfa1a4563ce45726ae79f0f34fcc inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
319
+ <tr class="memitem:ae66ed69eb3412c2eef14ef2f86a34c6c inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">const GraphType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ae66ed69eb3412c2eef14ef2f86a34c6c">graph</a> () const</td></tr>
320
+ <tr class="memdesc:ae66ed69eb3412c2eef14ef2f86a34c6c inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get/Set graph methods. <a href="classSVF_1_1SrcSnkSolver.html#ae66ed69eb3412c2eef14ef2f86a34c6c">More...</a><br /></td></tr>
321
+ <tr class="separator:ae66ed69eb3412c2eef14ef2f86a34c6c inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
322
+ <tr class="memitem:a49cae8f70144639f529956478a8fca2b inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a49cae8f70144639f529956478a8fca2b">setGraph</a> (GraphType g)</td></tr>
323
+ <tr class="separator:a49cae8f70144639f529956478a8fca2b inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
324
+ <tr class="memitem:ab35190da65a3157a654a90afc7d793b5 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#ab35190da65a3157a654a90afc7d793b5">FWProcessCurNode</a> (const DPIm &amp;)</td></tr>
325
+ <tr class="memdesc:ab35190da65a3157a654a90afc7d793b5 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the DP item. <a href="classSVF_1_1SrcSnkSolver.html#ab35190da65a3157a654a90afc7d793b5">More...</a><br /></td></tr>
326
+ <tr class="separator:ab35190da65a3157a654a90afc7d793b5 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
327
+ <tr class="memitem:a447db2796a7024dfa0fbe9ac95c671c0 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a447db2796a7024dfa0fbe9ac95c671c0">BWProcessCurNode</a> (const DPIm &amp;)</td></tr>
328
+ <tr class="separator:a447db2796a7024dfa0fbe9ac95c671c0 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
329
+ <tr class="memitem:aa43dbc79bfde3199a73ce0257613f484 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aa43dbc79bfde3199a73ce0257613f484">FWProcessOutgoingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *edge)</td></tr>
330
+ <tr class="memdesc:aa43dbc79bfde3199a73ce0257613f484 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Propagation for the solving, to be implemented in the child class. <a href="classSVF_1_1SrcSnkSolver.html#aa43dbc79bfde3199a73ce0257613f484">More...</a><br /></td></tr>
331
+ <tr class="separator:aa43dbc79bfde3199a73ce0257613f484 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
332
+ <tr class="memitem:a9e8b3a956eb5d1ac2aad095eb132c848 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a9e8b3a956eb5d1ac2aad095eb132c848">BWProcessIncomingEdge</a> (const DPIm &amp;item, <a class="el" href="classSVF_1_1SrcSnkSolver.html#a6007c2d795370bb48ad120af5474a31f">GEDGE</a> *edge)</td></tr>
333
+ <tr class="separator:a9e8b3a956eb5d1ac2aad095eb132c848 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
334
+ <tr class="memitem:aa9e62efa4443fc8a9dfb79d002c5e1ef inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">DPIm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">popFromWorklist</a> ()</td></tr>
335
+ <tr class="memdesc:aa9e62efa4443fc8a9dfb79d002c5e1ef inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Worklist operations. <a href="classSVF_1_1SrcSnkSolver.html#aa9e62efa4443fc8a9dfb79d002c5e1ef">More...</a><br /></td></tr>
336
+ <tr class="separator:aa9e62efa4443fc8a9dfb79d002c5e1ef inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
337
+ <tr class="memitem:a4451d97a06bb74223e2dad0ea04265d7 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a4451d97a06bb74223e2dad0ea04265d7">pushIntoWorklist</a> (DPIm &amp;item)</td></tr>
338
+ <tr class="separator:a4451d97a06bb74223e2dad0ea04265d7 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
339
+ <tr class="memitem:a8cf98a877e4190f3886b4020006f6383 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a8cf98a877e4190f3886b4020006f6383">isWorklistEmpty</a> ()</td></tr>
340
+ <tr class="separator:a8cf98a877e4190f3886b4020006f6383 inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
341
+ <tr class="memitem:a1d9e1f15c9670758b9598e848ce5eeed inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkSolver.html#a1d9e1f15c9670758b9598e848ce5eeed">isInWorklist</a> (DPIm &amp;item)</td></tr>
342
+ <tr class="separator:a1d9e1f15c9670758b9598e848ce5eeed inherit pro_methods_classSVF_1_1SrcSnkSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
343
343
  </table><table class="memberdecls">
344
344
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
345
345
  Private Attributes</h2></td></tr>
@@ -664,7 +664,7 @@ Additional Inherited Members</h2></td></tr>
664
664
  <p>Implements <a class="el" href="classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5">SVF::SrcSnkDDA</a>.</p>
665
665
 
666
666
  <p class="definition">Definition at line <a class="el" href="LeakChecker_8cpp_source.html#l00041">41</a> of file <a class="el" href="LeakChecker_8cpp_source.html">LeakChecker.cpp</a>.</p>
667
- <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">getPAG</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">for</span>(SVFIR::CSToRetMap::iterator it = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().begin(),</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; eit = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* cs = it-&gt;first;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()) || !cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()-&gt;getType()-&gt;isPointerTy())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> callees;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">getCallgraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a>(cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a98c5e8394aa337e53a5ba8f4b0a245d4">getCallICFGNode</a>(),callees);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">for</span>(PTACallGraph::FunctionSet::const_iterator cit = callees.begin(), ecit = callees.end(); cit!=ecit; cit++)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *cit;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">isSourceLikeFun</a>(fun))</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#aa0d4c66929f8ae39cf5efc77e873f642">CSWorkList</a> <a class="code" href="classSVF_1_1CFLSolver.html#a9d3cbcb9db049e3069b6553ab17ccf5b">worklist</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVFGNodeBS</a> visited;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; worklist.push(it-&gt;first-&gt;getCallICFGNode());</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = worklist.pop();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pagNode);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (visited.test(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == 0)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; visited.set(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">CallSiteSet</a> csSet;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// if this node is in an allocation wrapper, find all its call nodes</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">isInAWrapper</a>(node, csSet))</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">for</span> (CallSiteSet::iterator it = csSet.begin(), eit =</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; csSet.end(); it != eit; ++it)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; worklist.push(*it);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// otherwise, this is the source we are interested</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// exclude sources in dead functions</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()) == <span class="keyword">false</span>)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">addToSources</a>(node);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">addSrcToCSID</a>(node, cs);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_acdffb63fd5ae67306640bfe2fcfc3a79"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">SVF::SrcSnkDDA::addToSources</a></div><div class="ttdeci">void addToSources(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00208">SrcSnkDDA.h:208</a></div></div>
667
+ <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">getPAG</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">for</span>(SVFIR::CSToRetMap::iterator it = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().begin(),</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; eit = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">getCallSiteRets</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* cs = it-&gt;first;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()) || !cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">getCallSite</a>()-&gt;getType()-&gt;isPointerTy())</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> callees;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad445032e9b2027b3c990ce2a250257f8">getCallgraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a>(cs-&gt;<a class="code" href="classSVF_1_1RetICFGNode.html#a98c5e8394aa337e53a5ba8f4b0a245d4">getCallICFGNode</a>(),callees);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">for</span>(PTACallGraph::FunctionSet::const_iterator cit = callees.begin(), ecit = callees.end(); cit!=ecit; cit++)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *cit;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">isSourceLikeFun</a>(fun))</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#aa0d4c66929f8ae39cf5efc77e873f642">CSWorkList</a> <a class="code" href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">worklist</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVFGNodeBS</a> visited;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; worklist.push(it-&gt;first-&gt;getCallICFGNode());</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = worklist.pop();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = pag-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pagNode);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (visited.test(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == 0)</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; visited.set(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">CallSiteSet</a> csSet;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="comment">// if this node is in an allocation wrapper, find all its call nodes</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">isInAWrapper</a>(node, csSet))</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">for</span> (CallSiteSet::iterator it = csSet.begin(), eit =</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; csSet.end(); it != eit; ++it)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; worklist.push(*it);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// otherwise, this is the source we are interested</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// exclude sources in dead functions</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">isPtrInDeadFunction</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()) == <span class="keyword">false</span>)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">addToSources</a>(node);</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">addSrcToCSID</a>(node, cs);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;}</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_acdffb63fd5ae67306640bfe2fcfc3a79"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acdffb63fd5ae67306640bfe2fcfc3a79">SVF::SrcSnkDDA::addToSources</a></div><div class="ttdeci">void addToSources(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00208">SrcSnkDDA.h:208</a></div></div>
668
668
  <div class="ttc" id="classSVF_1_1RetICFGNode_html_a8f0490ea9491afdf81641e9928f5a5f7"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html#a8f0490ea9491afdf81641e9928f5a5f7">SVF::RetICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00474">ICFGNode.h:474</a></div></div>
669
669
  <div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
670
670
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
@@ -677,11 +677,11 @@ Additional Inherited Members</h2></td></tr>
677
677
  <div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
678
678
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a4dcfe3e66a16813350ec8dffd47c5644"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4dcfe3e66a16813350ec8dffd47c5644">SVF::SVFUtil::isPtrInDeadFunction</a></div><div class="ttdeci">bool isPtrInDeadFunction(const Value *value)</div><div class="ttdoc">Return true if this is value in a dead function (function without any caller) </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00159">LLVMUtil.cpp:159</a></div></div>
679
679
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00120">SrcSnkDDA.h:120</a></div></div>
680
+ <div class="ttc" id="classSVF_1_1SrcSnkSolver_html_aeecbd88066567b2f123e84072dd09941"><div class="ttname"><a href="classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941">SVF::SrcSnkSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkSolver_8h_source.html#l00180">SrcSnkSolver.h:180</a></div></div>
680
681
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a47a4be28c625bf4d079a04ac24132165"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a47a4be28c625bf4d079a04ac24132165">SVF::SrcSnkDDA::CallSiteSet</a></div><div class="ttdeci">Set&lt; const CallICFGNode * &gt; CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00056">SrcSnkDDA.h:56</a></div></div>
681
682
  <div class="ttc" id="classSVF_1_1LeakChecker_html_a155da7c60f3232b43a3996313b0496c7"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a155da7c60f3232b43a3996313b0496c7">SVF::LeakChecker::addSrcToCSID</a></div><div class="ttdeci">void addSrcToCSID(const SVFGNode *src, const CallICFGNode *cs)</div><div class="ttdoc">Record a source to its callsite. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00107">LeakChecker.h:107</a></div></div>
682
683
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
683
684
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_afc75e55af839ef535d80555fd422342c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">SVF::SrcSnkDDA::isInAWrapper</a></div><div class="ttdeci">bool isInAWrapper(const SVFGNode *src, CallSiteSet &amp;csIdSet)</div><div class="ttdoc">Identify allocation wrappers. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00119">SrcSnkDDA.cpp:119</a></div></div>
684
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a9d3cbcb9db049e3069b6553ab17ccf5b"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a9d3cbcb9db049e3069b6553ab17ccf5b">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00180">CFLSolver.h:180</a></div></div>
685
685
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
686
686
  <div class="ttc" id="classSVF_1_1SVFIR_html_a650b3931af337a92ffcb5dad5ab47b22"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">SVF::SVFIR::getCallSiteRets</a></div><div class="ttdeci">CSToRetMap &amp; getCallSiteRets()</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00249">SVFIR.h:249</a></div></div>
687
687
  <div class="ttc" id="classSVF_1_1LeakChecker_html_a65b05e30410e40fe64d41f71516cd367"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a65b05e30410e40fe64d41f71516cd367">SVF::LeakChecker::SVFGNodeBS</a></div><div class="ttdeci">NodeBS SVFGNodeBS</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8h_source.html#l00049">LeakChecker.h:49</a></div></div>
@@ -807,7 +807,7 @@ Additional Inherited Members</h2></td></tr>
807
807
  <div class="ttc" id="classSVF_1_1LeakChecker_html_a93486083c0f186b91e655cbef2382634"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#a93486083c0f186b91e655cbef2382634">SVF::LeakChecker::reportPartialLeak</a></div><div class="ttdeci">void reportPartialLeak(const SVFGNode *src)</div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8cpp_source.html#l00154">LeakChecker.cpp:154</a></div></div>
808
808
  <div class="ttc" id="classSVF_1_1LeakChecker_html_aaf5d098e0d08929a108fb59bff46e424"><div class="ttname"><a href="classSVF_1_1LeakChecker.html#aaf5d098e0d08929a108fb59bff46e424">SVF::LeakChecker::testsValidation</a></div><div class="ttdeci">void testsValidation(const ProgSlice *slice)</div><div class="ttdoc">Validate test cases for regression test purpose. </div><div class="ttdef"><b>Definition:</b> <a href="LeakChecker_8cpp_source.html#l00183">LeakChecker.cpp:183</a></div></div>
809
809
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
810
- <div class="ttc" id="classSVF_1_1Options_html_aec491143ded97649da1ed61b8fda796c"><div class="ttname"><a href="classSVF_1_1Options.html#aec491143ded97649da1ed61b8fda796c">SVF::Options::ValidateTests</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ValidateTests</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00196">Options.h:196</a></div></div>
810
+ <div class="ttc" id="classSVF_1_1Options_html_aec491143ded97649da1ed61b8fda796c"><div class="ttname"><a href="classSVF_1_1Options.html#aec491143ded97649da1ed61b8fda796c">SVF::Options::ValidateTests</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ValidateTests</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00195">Options.h:195</a></div></div>
811
811
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6ae0d47bac09163e90b8b2e773ad69f0"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">SVF::SrcSnkDDA::isAllPathReachable</a></div><div class="ttdeci">virtual bool isAllPathReachable()</div><div class="ttdoc">Whether it is all path reachable from a source. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00292">SrcSnkDDA.h:292</a></div></div>
812
812
  <div class="ttc" id="classSVF_1_1ProgSlice_html_ab1fdec8d39c9890324718607d7464eab"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab1fdec8d39c9890324718607d7464eab">SVF::ProgSlice::annotatePaths</a></div><div class="ttdeci">void annotatePaths()</div><div class="ttdoc">Annotate program according to final condition. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00188">ProgSlice.cpp:188</a></div></div>
813
813
  </div><!-- fragment -->
@@ -503,7 +503,7 @@ Additional Inherited Members</h2></td></tr>
503
503
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
504
504
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
505
505
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
506
- <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
506
+ <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
507
507
  </div><!-- fragment -->
508
508
  </div>
509
509
  </div>
@@ -1015,7 +1015,7 @@ Private Attributes</h2></td></tr>
1015
1015
 
1016
1016
  <p class="definition">Definition at line <a class="el" href="LockAnalysis_8cpp_source.html#l00041">41</a> of file <a class="el" href="LockAnalysis_8cpp_source.html">LockAnalysis.cpp</a>.</p>
1017
1017
  <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#aa8683de99ad02fb75b175b0bb54e5f7d">collectLockUnlocksites</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">buildCandidateFuncSetforLock</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockStart = <a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">analyzeIntraProcedualLock</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">collectCxtLock</a>();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">analyzeLockSpanCxtStmt</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockEnd = <a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">lockTime</a> += (lockEnd - lockStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">Options::LockValid</a>)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a935128c9952714fcc98febed491ee85d">validateResults</a>();</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00171">SVFBasicTypes.h:171</a></div></div>
1018
- <div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00185">Options.h:185</a></div></div>
1018
+ <div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00184">Options.h:184</a></div></div>
1019
1019
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a34f7544f22a87e1caf010c34abda75"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">SVF::LockAnalysis::analyzeIntraProcedualLock</a></div><div class="ttdeci">void analyzeIntraProcedualLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00142">LockAnalysis.cpp:142</a></div></div>
1020
1020
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
1021
1021
  <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00178">SVFBasicTypes.h:178</a></div></div>
@@ -697,7 +697,7 @@ Static Private Attributes</h2></td></tr>
697
697
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
698
698
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
699
699
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a7faecaee57dbef533dc46b2708305ab2"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a7faecaee57dbef533dc46b2708305ab2">SVF::LockAnalysis::getCSTCLS</a></div><div class="ttdeci">CxtStmtToCxtLockSet getCSTCLS()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00228">LockAnalysis.h:228</a></div></div>
700
- <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00183">Options.h:183</a></div></div>
700
+ <div class="ttc" id="classSVF_1_1Options_html_ac609142ee5a0caaf3ac51238ec421c2e"><div class="ttname"><a href="classSVF_1_1Options.html#ac609142ee5a0caaf3ac51238ec421c2e">SVF::Options::PrintValidRes</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintValidRes</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00182">Options.h:182</a></div></div>
701
701
  <div class="ttc" id="classSVF_1_1LockResultValidator_html_a760c0f6f891daa4532a44c6594794bb8"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a760c0f6f891daa4532a44c6594794bb8">SVF::LockResultValidator::LOCK_IMPRECISE</a></div><div class="ttdeci">static const LOCK_FLAG LOCK_IMPRECISE</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00100">LockResultValidator.h:100</a></div></div>
702
702
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
703
703
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
@@ -645,7 +645,7 @@ Private Member Functions</h2></td></tr>
645
645
  <div class="ttc" id="classSVF_1_1MHP_html_af769afe6ba6baccda5a497df181c9fb0"><div class="ttname"><a href="classSVF_1_1MHP.html#af769afe6ba6baccda5a497df181c9fb0">SVF::MHP::handleCall</a></div><div class="ttdeci">void handleCall(const CxtThreadStmt &amp;cts, NodeID rootTid)</div><div class="ttdoc">Handle call. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00287">MHP.cpp:287</a></div></div>
646
646
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
647
647
  <div class="ttc" id="classSVF_1_1MHP_html_a23ab5a03b7c00ba0ebac65568a83a5cc"><div class="ttname"><a href="classSVF_1_1MHP.html#a23ab5a03b7c00ba0ebac65568a83a5cc">SVF::MHP::updateSiblingThreads</a></div><div class="ttdeci">void updateSiblingThreads(NodeID tid)</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00410">MHP.cpp:410</a></div></div>
648
- <div class="ttc" id="classSVF_1_1Options_html_aa3e6c78eb346a52bbaaac2610573604a"><div class="ttname"><a href="classSVF_1_1Options.html#aa3e6c78eb346a52bbaaac2610573604a">SVF::Options::PrintInterLev</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintInterLev</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00172">Options.h:172</a></div></div>
648
+ <div class="ttc" id="classSVF_1_1Options_html_aa3e6c78eb346a52bbaaac2610573604a"><div class="ttname"><a href="classSVF_1_1Options.html#aa3e6c78eb346a52bbaaac2610573604a">SVF::Options::PrintInterLev</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintInterLev</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00171">Options.h:171</a></div></div>
649
649
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
650
650
  <div class="ttc" id="classSVF_1_1MHP_html_a6990ff8e3efe5af365c8205b7ced38ed"><div class="ttname"><a href="classSVF_1_1MHP.html#a6990ff8e3efe5af365c8205b7ced38ed">SVF::MHP::validateResults</a></div><div class="ttdeci">void validateResults()</div><div class="ttdoc">Use RCResultValidator to validate mhp results. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00638">MHP.cpp:638</a></div></div>
651
651
  <div class="ttc" id="classSVF_1_1MHP_html_a76ac9d388529f090ab6dad5829dd0753"><div class="ttname"><a href="classSVF_1_1MHP.html#a76ac9d388529f090ab6dad5829dd0753">SVF::MHP::handleRet</a></div><div class="ttdeci">void handleRet(const CxtThreadStmt &amp;cts)</div><div class="ttdoc">Handle return. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00314">MHP.cpp:314</a></div></div>
@@ -1340,7 +1340,7 @@ Private Attributes</h2></td></tr>
1340
1340
  <div class="ttc" id="classSVF_1_1MRGenerator_html_a8717adf4520e0702274c5f013776be52"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVF::MRGenerator::SVFStmtList</a></div><div class="ttdeci">SVFIR::SVFStmtList SVFStmtList</div><div class="ttdoc">SVFIR edge list. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00172">MemRegion.h:172</a></div></div>
1341
1341
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
1342
1342
  <div class="ttc" id="classSVF_1_1MRGenerator_html_acc78a116ca0be01a359d1313b2ae603c"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">SVFStmtList &amp; getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
1343
- <div class="ttc" id="classSVF_1_1Options_html_a50182faec95c6c4635df65a55148b040"><div class="ttname"><a href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">SVF::Options::IgnoreDeadFun</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; IgnoreDeadFun</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00149">Options.h:149</a></div></div>
1343
+ <div class="ttc" id="classSVF_1_1Options_html_a50182faec95c6c4635df65a55148b040"><div class="ttname"><a href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">SVF::Options::IgnoreDeadFun</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; IgnoreDeadFun</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00148">Options.h:148</a></div></div>
1344
1344
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00217">PointerAnalysis.h:217</a></div></div>
1345
1345
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1346
1346
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>