svf-tools 1.0.436 → 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 (395) 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 +3 -3
  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 +9 -9
  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/MemSSA_8h_source.html +3 -2
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/Options_8cpp_source.html +113 -114
  40. package/SVF-doxygen/html/html/Options_8h.html +0 -1
  41. package/SVF-doxygen/html/html/Options_8h_source.html +115 -117
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -5
  44. package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -1
  45. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +24 -24
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -1
  47. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  48. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +15 -15
  50. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +3 -3
  54. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +4 -4
  55. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  56. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  57. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  59. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +1 -1
  61. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
  62. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  64. package/SVF-doxygen/html/html/SrcSnkDDA_8h.html +3 -3
  65. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +6 -6
  66. package/SVF-doxygen/html/html/SrcSnkSolver_8h.html +96 -0
  67. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +113 -0
  68. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
  69. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  70. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp.html +3 -3
  73. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +6 -6
  74. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h.html +2 -2
  75. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  77. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  78. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  79. package/SVF-doxygen/html/html/Z3Expr_8h.html +99 -0
  80. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +126 -0
  81. package/SVF-doxygen/html/html/annotated.html +272 -275
  82. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  85. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager-members.html +117 -0
  86. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +1318 -0
  87. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +6 -6
  88. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +0 -9
  95. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  99. package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +3 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1DPItem.png +0 -0
  101. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +76 -76
  102. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +64 -64
  103. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.png +0 -0
  104. package/SVF-doxygen/html/html/classSVF_1_1ExeState-members.html +111 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1173 -0
  106. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +78 -78
  108. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +64 -64
  109. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +10 -10
  112. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +8 -8
  113. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  119. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +74 -74
  120. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +68 -68
  121. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.png +0 -0
  122. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  128. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
  129. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  130. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +11 -11
  133. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  135. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -103
  138. package/SVF-doxygen/html/html/classSVF_1_1Options.html +115 -141
  139. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  140. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +3 -3
  141. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +131 -132
  142. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +18 -18
  144. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
  151. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +66 -66
  153. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +86 -86
  154. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.png +0 -0
  155. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +106 -0
  156. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +937 -0
  157. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +2 -3
  159. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.png +0 -0
  160. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  162. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  163. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +5 -5
  168. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  172. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +13 -13
  173. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +46 -15
  174. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1451 -104
  175. package/SVF-doxygen/html/html/classes.html +96 -96
  176. package/SVF-doxygen/html/html/dir_66541c162fd98954e2c32089ba9a721f.html +2 -0
  177. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +2 -0
  178. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +4 -4
  179. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +6 -10
  180. package/SVF-doxygen/html/html/dir_ea25a8a5b2904424d8a51916f8b475b2.html +2 -0
  181. package/SVF-doxygen/html/html/dir_fdb79cd259bf25322a80ea604c9317b5.html +2 -0
  182. package/SVF-doxygen/html/html/files.html +42 -40
  183. package/SVF-doxygen/html/html/functions.html +2 -2
  184. package/SVF-doxygen/html/html/functions_0x7e.html +9 -21
  185. package/SVF-doxygen/html/html/functions_a.html +8 -16
  186. package/SVF-doxygen/html/html/functions_b.html +22 -35
  187. package/SVF-doxygen/html/html/functions_c.html +33 -63
  188. package/SVF-doxygen/html/html/functions_d.html +3 -6
  189. package/SVF-doxygen/html/html/functions_e.html +11 -13
  190. package/SVF-doxygen/html/html/functions_enum.html +0 -6
  191. package/SVF-doxygen/html/html/functions_eval_b.html +0 -6
  192. package/SVF-doxygen/html/html/functions_f.html +6 -6
  193. package/SVF-doxygen/html/html/functions_func.html +8 -19
  194. package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -21
  195. package/SVF-doxygen/html/html/functions_func_b.html +12 -15
  196. package/SVF-doxygen/html/html/functions_func_c.html +23 -38
  197. package/SVF-doxygen/html/html/functions_func_d.html +4 -7
  198. package/SVF-doxygen/html/html/functions_func_e.html +5 -4
  199. package/SVF-doxygen/html/html/functions_func_f.html +5 -5
  200. package/SVF-doxygen/html/html/functions_func_g.html +48 -49
  201. package/SVF-doxygen/html/html/functions_func_h.html +2 -7
  202. package/SVF-doxygen/html/html/functions_func_i.html +33 -21
  203. package/SVF-doxygen/html/html/functions_func_l.html +6 -3
  204. package/SVF-doxygen/html/html/functions_func_m.html +0 -1
  205. package/SVF-doxygen/html/html/functions_func_n.html +5 -4
  206. package/SVF-doxygen/html/html/functions_func_o.html +11 -13
  207. package/SVF-doxygen/html/html/functions_func_p.html +7 -17
  208. package/SVF-doxygen/html/html/functions_func_r.html +8 -5
  209. package/SVF-doxygen/html/html/functions_func_s.html +16 -13
  210. package/SVF-doxygen/html/html/functions_func_t.html +3 -1
  211. package/SVF-doxygen/html/html/functions_func_v.html +1 -7
  212. package/SVF-doxygen/html/html/functions_func_z.html +3 -3
  213. package/SVF-doxygen/html/html/functions_g.html +51 -52
  214. package/SVF-doxygen/html/html/functions_h.html +3 -8
  215. package/SVF-doxygen/html/html/functions_i.html +44 -32
  216. package/SVF-doxygen/html/html/functions_l.html +18 -7
  217. package/SVF-doxygen/html/html/functions_m.html +2 -3
  218. package/SVF-doxygen/html/html/functions_n.html +10 -12
  219. package/SVF-doxygen/html/html/functions_o.html +64 -24
  220. package/SVF-doxygen/html/html/functions_p.html +24 -34
  221. package/SVF-doxygen/html/html/functions_r.html +8 -7
  222. package/SVF-doxygen/html/html/functions_rela.html +78 -4
  223. package/SVF-doxygen/html/html/functions_s.html +31 -26
  224. package/SVF-doxygen/html/html/functions_t.html +9 -9
  225. package/SVF-doxygen/html/html/functions_type_b.html +3 -7
  226. package/SVF-doxygen/html/html/functions_type_c.html +4 -4
  227. package/SVF-doxygen/html/html/functions_type_e.html +0 -3
  228. package/SVF-doxygen/html/html/functions_type_g.html +5 -5
  229. package/SVF-doxygen/html/html/functions_type_i.html +4 -7
  230. package/SVF-doxygen/html/html/functions_type_l.html +3 -0
  231. package/SVF-doxygen/html/html/functions_type_n.html +2 -2
  232. package/SVF-doxygen/html/html/functions_type_p.html +0 -4
  233. package/SVF-doxygen/html/html/functions_type_v.html +3 -0
  234. package/SVF-doxygen/html/html/functions_type_w.html +2 -2
  235. package/SVF-doxygen/html/html/functions_v.html +10 -13
  236. package/SVF-doxygen/html/html/functions_vars.html +2 -2
  237. package/SVF-doxygen/html/html/functions_vars_b.html +2 -5
  238. package/SVF-doxygen/html/html/functions_vars_c.html +3 -10
  239. package/SVF-doxygen/html/html/functions_vars_e.html +1 -4
  240. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  241. package/SVF-doxygen/html/html/functions_vars_i.html +1 -4
  242. package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
  243. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  244. package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
  245. package/SVF-doxygen/html/html/functions_vars_p.html +3 -3
  246. package/SVF-doxygen/html/html/functions_vars_s.html +0 -3
  247. package/SVF-doxygen/html/html/functions_vars_t.html +2 -2
  248. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  249. package/SVF-doxygen/html/html/functions_vars_w.html +1 -1
  250. package/SVF-doxygen/html/html/functions_w.html +12 -8
  251. package/SVF-doxygen/html/html/functions_z.html +3 -13
  252. package/SVF-doxygen/html/html/globals.html +3 -0
  253. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  254. package/SVF-doxygen/html/html/globals_defs_f.html +3 -0
  255. package/SVF-doxygen/html/html/globals_f.html +5 -2
  256. package/SVF-doxygen/html/html/globals_s.html +9 -9
  257. package/SVF-doxygen/html/html/hierarchy.html +422 -425
  258. package/SVF-doxygen/html/html/menudata.js +4 -4
  259. package/SVF-doxygen/html/html/namespaceSVF.html +19 -66
  260. package/SVF-doxygen/html/html/namespacemembers_c.html +1 -1
  261. package/SVF-doxygen/html/html/namespacemembers_type.html +1 -7
  262. package/SVF-doxygen/html/html/namespacemembers_v.html +0 -6
  263. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  264. package/SVF-doxygen/html/html/search/all_1.js +3 -4
  265. package/SVF-doxygen/html/html/search/all_10.js +12 -17
  266. package/SVF-doxygen/html/html/search/all_12.js +3 -2
  267. package/SVF-doxygen/html/html/search/all_13.js +19 -18
  268. package/SVF-doxygen/html/html/search/all_14.js +7 -6
  269. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  270. package/SVF-doxygen/html/html/search/all_16.js +3 -6
  271. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  272. package/SVF-doxygen/html/html/search/all_1a.js +3 -5
  273. package/SVF-doxygen/html/html/search/all_1b.js +4 -8
  274. package/SVF-doxygen/html/html/search/all_2.js +14 -15
  275. package/SVF-doxygen/html/html/search/all_3.js +14 -24
  276. package/SVF-doxygen/html/html/search/all_4.js +3 -3
  277. package/SVF-doxygen/html/html/search/all_5.js +7 -4
  278. package/SVF-doxygen/html/html/search/all_6.js +5 -4
  279. package/SVF-doxygen/html/html/search/all_7.js +28 -25
  280. package/SVF-doxygen/html/html/search/all_8.js +4 -3
  281. package/SVF-doxygen/html/html/search/all_9.js +18 -12
  282. package/SVF-doxygen/html/html/search/all_c.js +4 -2
  283. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  284. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  285. package/SVF-doxygen/html/html/search/all_f.js +25 -16
  286. package/SVF-doxygen/html/html/search/classes_1.js +1 -2
  287. package/SVF-doxygen/html/html/search/classes_12.js +1 -2
  288. package/SVF-doxygen/html/html/search/classes_14.js +1 -2
  289. package/SVF-doxygen/html/html/search/classes_2.js +0 -3
  290. package/SVF-doxygen/html/html/search/classes_4.js +1 -0
  291. package/SVF-doxygen/html/html/search/classes_7.js +3 -1
  292. package/SVF-doxygen/html/html/search/classes_d.js +0 -1
  293. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  294. package/SVF-doxygen/html/html/search/defines_0.js +1 -0
  295. package/SVF-doxygen/html/html/search/defines_5.js +1 -0
  296. package/SVF-doxygen/html/html/search/enums_1.js +0 -2
  297. package/SVF-doxygen/html/html/search/enumvalues_1.js +0 -2
  298. package/SVF-doxygen/html/html/search/files_1.js +2 -0
  299. package/SVF-doxygen/html/html/search/files_12.html +26 -0
  300. package/SVF-doxygen/html/html/search/files_12.js +4 -0
  301. package/SVF-doxygen/html/html/search/files_2.js +0 -3
  302. package/SVF-doxygen/html/html/search/files_4.js +2 -0
  303. package/SVF-doxygen/html/html/search/files_c.js +0 -1
  304. package/SVF-doxygen/html/html/search/files_d.js +1 -0
  305. package/SVF-doxygen/html/html/search/functions_0.js +1 -4
  306. package/SVF-doxygen/html/html/search/functions_1.js +8 -9
  307. package/SVF-doxygen/html/html/search/functions_10.js +7 -6
  308. package/SVF-doxygen/html/html/search/functions_11.js +2 -1
  309. package/SVF-doxygen/html/html/search/functions_13.js +0 -2
  310. package/SVF-doxygen/html/html/search/functions_15.js +2 -2
  311. package/SVF-doxygen/html/html/search/functions_16.js +4 -8
  312. package/SVF-doxygen/html/html/search/functions_2.js +5 -8
  313. package/SVF-doxygen/html/html/search/functions_3.js +3 -3
  314. package/SVF-doxygen/html/html/search/functions_4.js +2 -1
  315. package/SVF-doxygen/html/html/search/functions_5.js +3 -3
  316. package/SVF-doxygen/html/html/search/functions_6.js +25 -22
  317. package/SVF-doxygen/html/html/search/functions_7.js +2 -3
  318. package/SVF-doxygen/html/html/search/functions_8.js +12 -6
  319. package/SVF-doxygen/html/html/search/functions_a.js +1 -0
  320. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  321. package/SVF-doxygen/html/html/search/functions_c.js +2 -1
  322. package/SVF-doxygen/html/html/search/functions_d.js +7 -7
  323. package/SVF-doxygen/html/html/search/functions_e.js +5 -8
  324. package/SVF-doxygen/html/html/search/functions_f.js +2 -1
  325. package/SVF-doxygen/html/html/search/related_0.js +1 -2
  326. package/SVF-doxygen/html/html/search/related_1.js +1 -2
  327. package/SVF-doxygen/html/html/search/related_2.js +1 -1
  328. package/SVF-doxygen/html/html/search/related_3.js +2 -1
  329. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  330. package/SVF-doxygen/html/html/search/related_5.js +1 -2
  331. package/SVF-doxygen/html/html/search/related_6.js +4 -1
  332. package/SVF-doxygen/html/html/search/related_7.js +2 -4
  333. package/SVF-doxygen/html/html/search/related_8.js +18 -1
  334. package/SVF-doxygen/html/html/search/related_9.js +4 -6
  335. package/SVF-doxygen/html/html/search/related_a.js +1 -2
  336. package/SVF-doxygen/html/html/search/related_b.js +7 -2
  337. package/SVF-doxygen/html/html/search/related_c.html +26 -0
  338. package/SVF-doxygen/html/html/search/related_c.js +5 -0
  339. package/SVF-doxygen/html/html/search/related_d.html +26 -0
  340. package/SVF-doxygen/html/html/search/related_d.js +5 -0
  341. package/SVF-doxygen/html/html/search/searchdata.js +4 -4
  342. package/SVF-doxygen/html/html/search/typedefs_1.js +2 -3
  343. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -2
  344. package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
  345. package/SVF-doxygen/html/html/search/typedefs_2.js +4 -4
  346. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  347. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  348. package/SVF-doxygen/html/html/search/typedefs_8.js +3 -4
  349. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -0
  350. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
  351. package/SVF-doxygen/html/html/search/typedefs_f.js +0 -1
  352. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  353. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  354. package/SVF-doxygen/html/html/search/variables_13.js +0 -1
  355. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  356. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  357. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  358. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  359. package/SVF-doxygen/html/html/search/variables_2.js +1 -2
  360. package/SVF-doxygen/html/html/search/variables_3.js +4 -6
  361. package/SVF-doxygen/html/html/search/variables_5.js +1 -2
  362. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  363. package/SVF-doxygen/html/html/search/variables_9.js +1 -2
  364. package/SVF-doxygen/html/html/search/variables_c.js +1 -0
  365. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  366. package/SVF-doxygen/html/html/search/variables_e.js +1 -2
  367. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4-members.html +81 -0
  368. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +131 -0
  369. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4-members.html +81 -0
  370. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +131 -0
  371. package/include/MSSA/MemSSA.h +1 -1
  372. package/include/SABER/PathCondAllocator.h +4 -4
  373. package/include/SABER/SrcSnkDDA.h +2 -2
  374. package/include/{Util/CFLSolver.h → SABER/SrcSnkSolver.h} +5 -5
  375. package/include/{Util → SVF-FE}/IRAnnotator.h +0 -0
  376. package/include/Util/BDDExpr.h +182 -0
  377. package/include/Util/DPItem.h +1 -1
  378. package/include/Util/ExeState.h +172 -0
  379. package/include/Util/Options.h +0 -3
  380. package/include/Util/SVFBasicTypes.h +2 -2
  381. package/include/Util/Z3Expr.h +235 -0
  382. package/include/WPA/FlowSensitiveTBHC.h +1 -1
  383. package/include/{Util → WPA}/TypeBasedHeapCloning.h +0 -0
  384. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  385. package/lib/SABER/PathCondAllocator.cpp +1 -1
  386. package/lib/Util/BDDExpr.cpp +206 -0
  387. package/lib/Util/ExeState.cpp +248 -0
  388. package/lib/Util/Options.cpp +0 -11
  389. package/lib/Util/SVFUtil.cpp +1 -1
  390. package/lib/WPA/FlowSensitive.cpp +1 -1
  391. package/lib/{Util → WPA}/TypeBasedHeapCloning.cpp +1 -1
  392. package/package.json +1 -1
  393. package/include/Util/Conditions.h +0 -421
  394. package/include/Util/PathDPItem.h +0 -310
  395. package/lib/Util/Conditions.cpp +0 -440
@@ -990,8 +990,8 @@ Additional Inherited Members</h2></td></tr>
990
990
  <div class="fragment"><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; : <a class="code" href="classSVF_1_1FlowSensitive.html#aac88b67b49cbd72912ff586d30197ffb">FlowSensitive</a>(_pag, type), <a class="code" href="classSVF_1_1TypeBasedHeapCloning.html#af4d0abf53755a070478c142add3322d8">TypeBasedHeapCloning</a>(<span class="keyword">this</span>)</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;{</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="comment">// Using `this` as the argument for TypeBasedHeapCloning is okay. As PointerAnalysis, it&#39;s</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="comment">// already constructed. TypeBasedHeapCloning also doesn&#39;t use pta in the constructor so it</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// just needs to be allocated, which it is.</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">allReuse</a> = <a class="code" href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">Options::TBHCAllReuse</a>;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#ac7ed9100533dc399c71cdf017bfa2462">storeReuse</a> = <a class="code" href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">allReuse</a> || <a class="code" href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">Options::TBHCStoreReuse</a>;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;}</div><div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_af4d0abf53755a070478c142add3322d8"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#af4d0abf53755a070478c142add3322d8">SVF::TypeBasedHeapCloning::TypeBasedHeapCloning</a></div><div class="ttdeci">TypeBasedHeapCloning(BVDataPTAImpl *pta)</div><div class="ttdoc">Constructor. pta is the pointer analysis using this object (i.e. that which is extending). </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00021">TypeBasedHeapCloning.cpp:21</a></div></div>
991
991
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ac7ed9100533dc399c71cdf017bfa2462"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ac7ed9100533dc399c71cdf017bfa2462">SVF::FlowSensitiveTBHC::storeReuse</a></div><div class="ttdeci">bool storeReuse</div><div class="ttdoc">Whether to allow for reuse at stores. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8h_source.html#l00109">FlowSensitiveTBHC.h:109</a></div></div>
992
992
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aac88b67b49cbd72912ff586d30197ffb"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aac88b67b49cbd72912ff586d30197ffb">SVF::FlowSensitive::FlowSensitive</a></div><div class="ttdeci">FlowSensitive(SVFIR *_pag, PTATY type=FSSPARSE_WPA)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00061">FlowSensitive.h:61</a></div></div>
993
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
994
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
993
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
994
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
995
995
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a734e01c66832346c61d4cda38db84f4a"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a734e01c66832346c61d4cda38db84f4a">SVF::FlowSensitiveTBHC::allReuse</a></div><div class="ttdeci">bool allReuse</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8h_source.html#l00112">FlowSensitiveTBHC.h:112</a></div></div>
996
996
  </div><!-- fragment -->
997
997
  </div>
@@ -1217,7 +1217,7 @@ Additional Inherited Members</h2></td></tr>
1217
1217
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_ae520e0551e63223a908f92a6b9667356"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#ae520e0551e63223a908f92a6b9667356">SVF::TypeBasedHeapCloning::getFilterSet</a></div><div class="ttdeci">PointsTo &amp; getFilterSet(NodeID loc)</div><div class="ttdoc">Returns the filter set of a location. Not const; could create empty PointsTo. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8cpp_source.html#l00113">TypeBasedHeapCloning.cpp:113</a></div></div>
1218
1218
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_adaba5a41a60e32d18d964bdb8ae5b2df"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#adaba5a41a60e32d18d964bdb8ae5b2df">SVF::BVDataPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Value infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00451">PointerAnalysisImpl.cpp:451</a></div></div>
1219
1219
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
1220
- <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00197">SVFBasicTypes.h:197</a></div></div>
1220
+ <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">SVF::NoAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00194">SVFBasicTypes.h:194</a></div></div>
1221
1221
  </div><!-- fragment -->
1222
1222
  </div>
1223
1223
  </div>
@@ -1641,10 +1641,10 @@ Additional Inherited Members</h2></td></tr>
1641
1641
  <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
1642
1642
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1643
1643
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a465e67781977e83526df7e36d576e539"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a465e67781977e83526df7e36d576e539">SVF::TypeBasedHeapCloning::dchg</a></div><div class="ttdeci">DCHGraph * dchg</div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00047">TypeBasedHeapCloning.h:47</a></div></div>
1644
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1644
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
1645
1645
  <div class="ttc" id="classSVF_1_1DCHGraph_html_a9d2be5aec5216cbc1d1709b41f79c44b"><div class="ttname"><a href="classSVF_1_1DCHGraph.html#a9d2be5aec5216cbc1d1709b41f79c44b">SVF::DCHGraph::isAgg</a></div><div class="ttdeci">static bool isAgg(const DIType *t)</div><div class="ttdef"><b>Definition:</b> <a href="DCHG_8cpp_source.html#l00342">DCHG.cpp:342</a></div></div>
1646
1646
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ad5b294dacf51a89306df9a22c6799bad"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ad5b294dacf51a89306df9a22c6799bad">SVF::FlowSensitiveTBHC::gepIsLoad</a></div><div class="ttdeci">bool gepIsLoad(NodeID gep)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00608">FlowSensitiveTBHC.cpp:608</a></div></div>
1647
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1647
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1648
1648
  <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>
1649
1649
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1650
1650
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00353">PointerAnalysis.h:353</a></div></div>
@@ -1704,7 +1704,7 @@ Additional Inherited Members</h2></td></tr>
1704
1704
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a4dd7615f42971da9b6ec1dc04f0ec4e6"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a4dd7615f42971da9b6ec1dc04f0ec4e6">SVF::StmtVFGNode::getPAGEdge</a></div><div class="ttdeci">const PAGEdge * getPAGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00136">VFGNode.h:136</a></div></div>
1705
1705
  <div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00395">SVFIR.h:395</a></div></div>
1706
1706
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1707
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1707
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1708
1708
  <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>
1709
1709
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1710
1710
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_ad53c6aebdcfa9fa334ccff4c68efa8ae"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#ad53c6aebdcfa9fa334ccff4c68efa8ae">SVF::FlowSensitiveTBHC::unionPtsFromIn</a></div><div class="ttdeci">virtual bool unionPtsFromIn(const SVFGNode *stmt, NodeID srcVar, NodeID dstVar) override</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00548">FlowSensitiveTBHC.cpp:548</a></div></div>
@@ -1803,9 +1803,9 @@ Additional Inherited Members</h2></td></tr>
1803
1803
  <div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00125">PointsTo.cpp:125</a></div></div>
1804
1804
  <div class="ttc" id="classSVF_1_1TypeBasedHeapCloning_html_a6363466e64eee4405806568d26206d2e"><div class="ttname"><a href="classSVF_1_1TypeBasedHeapCloning.html#a6363466e64eee4405806568d26206d2e">SVF::TypeBasedHeapCloning::undefType</a></div><div class="ttdeci">static const DIType * undefType</div><div class="ttdoc">The undefined type (•); void. </div><div class="ttdef"><b>Definition:</b> <a href="TypeBasedHeapCloning_8h_source.html#l00027">TypeBasedHeapCloning.h:27</a></div></div>
1805
1805
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ab492c283e2264b4cbd4c192e805b7750"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ab492c283e2264b4cbd4c192e805b7750">SVF::FlowSensitive::weakUpdateOutFromIn</a></div><div class="ttdeci">virtual bool weakUpdateOutFromIn(const SVFGNode *node)</div><div class="ttdoc">Handle weak updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00162">FlowSensitive.h:162</a></div></div>
1806
- <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1806
+ <div class="ttc" id="classSVF_1_1Options_html_a10cc9fa1d4e553865343d635cf84592e"><div class="ttname"><a href="classSVF_1_1Options.html#a10cc9fa1d4e553865343d635cf84592e">SVF::Options::TBHCStoreReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCStoreReuse</div><div class="ttdoc">Whether we allow reuse for TBHC. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00241">Options.h:241</a></div></div>
1807
1807
  <div class="ttc" id="classSVF_1_1DFPTData_html_a7e4ae809b40d55448de0103746254158"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">SVF::DFPTData::updateAllDFOutFromIn</a></div><div class="ttdeci">virtual bool updateAllDFOutFromIn(LocID loc, const Key &amp;singleton, bool strongUpdates)=0</div><div class="ttdoc">For each variable var in IN at loc, do updateDFOutFromIn(loc, var, loc, var). </div></div>
1808
- <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
1808
+ <div class="ttc" id="classSVF_1_1Options_html_a930ed87e35ba7502f9d00be6f17f902f"><div class="ttname"><a href="classSVF_1_1Options.html#a930ed87e35ba7502f9d00be6f17f902f">SVF::Options::TBHCAllReuse</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; TBHCAllReuse</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00242">Options.h:242</a></div></div>
1809
1809
  <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>
1810
1810
  <div class="ttc" id="classSVF_1_1FlowSensitiveTBHC_html_a045ffbf7eea276d154be2cf883ea71f7"><div class="ttname"><a href="classSVF_1_1FlowSensitiveTBHC.html#a045ffbf7eea276d154be2cf883ea71f7">SVF::FlowSensitiveTBHC::getTypeFromCTirMetadata</a></div><div class="ttdeci">const DIType * getTypeFromCTirMetadata(const SVFGNode *)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveTBHC_8cpp_source.html#l00628">FlowSensitiveTBHC.cpp:628</a></div></div>
1811
1811
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
@@ -727,7 +727,7 @@ Additional Inherited Members</h2></td></tr>
727
727
  <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>
728
728
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
729
729
  <div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
730
- <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>
730
+ <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>
731
731
  <div class="ttc" id="classSVF_1_1GepObjVar_html_a55b057663180420c6bb09bf849d83f6b"><div class="ttname"><a href="classSVF_1_1GepObjVar.html#a55b057663180420c6bb09bf849d83f6b">SVF::GepObjVar::ls</a></div><div class="ttdeci">LocationSet ls</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00445">SVFVariables.h:445</a></div></div>
732
732
  </div><!-- fragment -->
733
733
  </div>
@@ -725,7 +725,7 @@ Additional Inherited Members</h2></td></tr>
725
725
  <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>
726
726
  <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>
727
727
  <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>
728
- <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>
728
+ <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>
729
729
  </div><!-- fragment -->
730
730
  </div>
731
731
  </div>
@@ -604,7 +604,7 @@ Additional Inherited Members</h2></td></tr>
604
604
  <div class="ttc" id="classSVF_1_1GepValVar_html_a0e5084d3fc54a70ace07075f846395ef"><div class="ttname"><a href="classSVF_1_1GepValVar.html#a0e5084d3fc54a70ace07075f846395ef">SVF::GepValVar::getConstantFieldIdx</a></div><div class="ttdeci">s32_t getConstantFieldIdx() const</div><div class="ttdoc">offset of the base value variable </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00416">SVFVariables.h:416</a></div></div>
605
605
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
606
606
  <div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
607
- <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>
607
+ <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>
608
608
  </div><!-- fragment -->
609
609
  </div>
610
610
  </div>
@@ -1707,7 +1707,7 @@ Additional Inherited Members</h2></td></tr>
1707
1707
  <div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00410">ICFG.cpp:410</a></div></div>
1708
1708
  <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>
1709
1709
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
1710
- <div class="ttc" id="classSVF_1_1Options_html_aea29a835c54fab800117e57de00e0b1e"><div class="ttname"><a href="classSVF_1_1Options.html#aea29a835c54fab800117e57de00e0b1e">SVF::Options::DumpICFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpICFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00136">Options.h:136</a></div></div>
1710
+ <div class="ttc" id="classSVF_1_1Options_html_aea29a835c54fab800117e57de00e0b1e"><div class="ttname"><a href="classSVF_1_1Options.html#aea29a835c54fab800117e57de00e0b1e">SVF::Options::DumpICFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpICFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
1711
1711
  <div class="ttc" id="classSVF_1_1ICFG_html_aa662baae5682ef6ec5084fa4147c9709"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">SVF::ICFG::hasIntraICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasIntraICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00263">ICFG.cpp:263</a></div></div>
1712
1712
  <div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
1713
1713
  <div class="ttc" id="classSVF_1_1ICFGNode_html_a6c68f52dd90728073fb79141df9b0661"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">SVF::ICFGNode::getSVFStmts</a></div><div class="ttdeci">const SVFStmtList &amp; getSVFStmts() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00121">ICFGNode.h:121</a></div></div>
@@ -862,7 +862,7 @@ Private Attributes</h2></td></tr>
862
862
  </div>
863
863
  </div>
864
864
  <hr/>The documentation for this class was generated from the following file:<ul>
865
- <li>/home/runner/work/SVF/SVF/include/Util/<a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a></li>
865
+ <li>/home/runner/work/SVF/SVF/include/SVF-FE/<a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a></li>
866
866
  </ul>
867
867
  </div><!-- contents -->
868
868
  <!-- start footer part -->
@@ -1162,7 +1162,7 @@ Static Private Attributes</h2></td></tr>
1162
1162
  <div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
1163
1163
  <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>
1164
1164
  <div class="ttc" id="namespaceSVF_html_a0fd33072b099f61eaa642e94ed0c03fc"><div class="ttname"><a href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">SVF::GlobalAlias</a></div><div class="ttdeci">llvm::GlobalAlias GlobalAlias</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00116">BasicTypes.h:116</a></div></div>
1165
- <div class="ttc" id="classSVF_1_1Options_html_a868fa5069b01b7a7dfbc5fb99cb76385"><div class="ttname"><a href="classSVF_1_1Options.html#a868fa5069b01b7a7dfbc5fb99cb76385">SVF::Options::SVFMain</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SVFMain</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00210">Options.h:210</a></div></div>
1165
+ <div class="ttc" id="classSVF_1_1Options_html_a868fa5069b01b7a7dfbc5fb99cb76385"><div class="ttname"><a href="classSVF_1_1Options.html#a868fa5069b01b7a7dfbc5fb99cb76385">SVF::Options::SVFMain</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SVFMain</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00209">Options.h:209</a></div></div>
1166
1166
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
1167
1167
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a8af6b911b728713f66f7c809d5c0fbf1"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a8af6b911b728713f66f7c809d5c0fbf1">SVF::LLVMModuleSet::addSVFMain</a></div><div class="ttdeci">void addSVFMain()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00229">LLVMModule.cpp:229</a></div></div>
1168
1168
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acde6292e719c80f93d3d1c344ab442cd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">SVF::LLVMModuleSet::modules</a></div><div class="ttdeci">std::vector&lt; std::reference_wrapper&lt; Module &gt; &gt; modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00054">LLVMModule.h:54</a></div></div>
@@ -1196,7 +1196,7 @@ Static Private Attributes</h2></td></tr>
1196
1196
  </div><div class="memdoc">
1197
1197
 
1198
1198
  <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l00148">148</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1199
- <div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// We read SVFIR from LLVM IR</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue().<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae19e38054c55d5822dfc83a12f12aa60">empty</a>())</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span>(moduleNameVec.empty())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;no LLVM bc file is found!\n&quot;</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(0);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">//assert(!moduleNameVec.empty() &amp;&amp; &quot;no LLVM bc file is found!&quot;);</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// We read SVFIR from a user-defined txt instead of parsing SVFIR from LLVM IR</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVFModule::setPagFromTXT</a>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue());</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">//</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// To avoid the following type bugs (t1 != t3) when parsing multiple modules,</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// We should use only one LLVMContext object for multiple modules in the same thread.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// No such problem if only one module is processed by SVF.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// LLVMContext ctxa,ctxb;</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// IntegerType * t1 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// IntegerType * t2 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// assert(t1 == t2);</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// IntegerType * t3 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// IntegerType * t4 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// assert(t3 == t4);</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// assert(t1 != t3);</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">//</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a> = std::make_unique&lt;LLVMContext&gt;();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> std::string&amp; moduleName : moduleNameVec) {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a> Err;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; std::unique_ptr&lt;Module&gt; mod = parseIRFile(moduleName, Err, *<a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (mod == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;load module: &quot;</span> &lt;&lt; moduleName &lt;&lt; <span class="stringliteral">&quot;failed!!\n\n&quot;</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; Err.print(<span class="stringliteral">&quot;SVFModuleLoader&quot;</span>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">llvm::errs</a>());</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>.emplace_back(*mod);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">owned_modules</a>.emplace_back(std::move(mod));</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div><div class="ttc" id="classSVF_1_1Options_html_aa5c4bc8e55a056adcd7a6f8946ad5f38"><div class="ttname"><a href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">SVF::Options::Graphtxt</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std::string &gt; Graphtxt</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00209">Options.h:209</a></div></div>
1199
+ <div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">// We read SVFIR from LLVM IR</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue().<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae19e38054c55d5822dfc83a12f12aa60">empty</a>())</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span>(moduleNameVec.empty())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;no LLVM bc file is found!\n&quot;</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>(0);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="comment">//assert(!moduleNameVec.empty() &amp;&amp; &quot;no LLVM bc file is found!&quot;);</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// We read SVFIR from a user-defined txt instead of parsing SVFIR from LLVM IR</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVFModule::setPagFromTXT</a>(<a class="code" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Options::Graphtxt</a>.getValue());</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="comment">//</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">// To avoid the following type bugs (t1 != t3) when parsing multiple modules,</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// We should use only one LLVMContext object for multiple modules in the same thread.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="comment">// No such problem if only one module is processed by SVF.</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="comment">// LLVMContext ctxa,ctxb;</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="comment">// IntegerType * t1 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">// IntegerType * t2 = IntegerType::get(ctxa,32);</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="comment">// assert(t1 == t2);</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// IntegerType * t3 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// IntegerType * t4 = IntegerType::get(ctxb,32);</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="comment">// assert(t3 == t4);</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// assert(t1 != t3);</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="comment">// ------------------------------------------------------------------</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">//</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a> = std::make_unique&lt;LLVMContext&gt;();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> std::string&amp; moduleName : moduleNameVec) {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a> Err;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; std::unique_ptr&lt;Module&gt; mod = parseIRFile(moduleName, Err, *<a class="code" href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">cxts</a>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (mod == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;load module: &quot;</span> &lt;&lt; moduleName &lt;&lt; <span class="stringliteral">&quot;failed!!\n\n&quot;</span>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; Err.print(<span class="stringliteral">&quot;SVFModuleLoader&quot;</span>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">llvm::errs</a>());</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>.emplace_back(*mod);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">owned_modules</a>.emplace_back(std::move(mod));</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;}</div><div class="ttc" id="classSVF_1_1Options_html_aa5c4bc8e55a056adcd7a6f8946ad5f38"><div class="ttname"><a href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">SVF::Options::Graphtxt</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std::string &gt; Graphtxt</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00208">Options.h:208</a></div></div>
1200
1200
  <div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
1201
1201
  <div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a312d4d865f87a9bff58ce66b087c13d0"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a312d4d865f87a9bff58ce66b087c13d0">SMDiagnostic</a></div><div class="ttdeci">llvm::SMDiagnostic SMDiagnostic</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00013">BasicTypes.h:13</a></div></div>
1202
1202
  <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>