svf-tools 1.0.633 → 1.0.635

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 (386) hide show
  1. package/CMakeLists.txt +111 -90
  2. package/SVF-doxygen/html/html/CFL_2CMakeLists_8txt.html +102 -0
  3. package/SVF-doxygen/html/html/CMakeLists_8txt.html +73 -0
  4. package/SVF-doxygen/html/html/DDA_2CMakeLists_8txt.html +102 -0
  5. package/SVF-doxygen/html/html/Example_2CMakeLists_8txt.html +102 -0
  6. package/SVF-doxygen/html/html/LockResultValidator_8cpp.html +2 -3
  7. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -52
  8. package/SVF-doxygen/html/html/LockResultValidator_8h.html +2 -3
  9. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -26
  10. package/SVF-doxygen/html/html/MTAAnnotator_8cpp.html +3 -3
  11. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -57
  12. package/SVF-doxygen/html/html/MTAAnnotator_8h.html +5 -6
  13. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -22
  14. package/SVF-doxygen/html/html/MTAResultValidator_8cpp.html +2 -3
  15. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +12 -72
  16. package/SVF-doxygen/html/html/MTAResultValidator_8h.html +6 -6
  17. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +76 -114
  18. package/SVF-doxygen/html/html/MTA_2CMakeLists_8txt.html +102 -0
  19. package/SVF-doxygen/html/html/SABER_2CMakeLists_8txt.html +102 -0
  20. package/SVF-doxygen/html/html/WPA_2CMakeLists_8txt.html +102 -0
  21. package/SVF-doxygen/html/html/annotated.html +9 -468
  22. package/SVF-doxygen/html/html/cfl_8cpp.html +5 -10
  23. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -12
  24. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +51 -119
  25. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator-members.html +2 -14
  26. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +14 -49
  27. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator-members.html +25 -43
  28. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +67 -187
  29. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.png +0 -0
  30. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator-members.html +20 -48
  31. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +345 -1317
  32. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator-members.html +8 -23
  33. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +137 -758
  34. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator_1_1AccessPair-members.html +3 -7
  35. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator_1_1AccessPair.html +37 -184
  36. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator-members.html +1 -13
  37. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +13 -48
  38. package/SVF-doxygen/html/html/classes.html +10 -123
  39. package/SVF-doxygen/html/html/dda_8cpp.html +172 -63
  40. package/SVF-doxygen/html/html/dda_8cpp_source.html +8 -20
  41. package/SVF-doxygen/html/html/dir_0c09191358c30c0f2d864382d285cb43.html +1 -1
  42. package/SVF-doxygen/html/html/files.html +19 -288
  43. package/SVF-doxygen/html/html/functions.html +322 -300
  44. package/SVF-doxygen/html/html/functions_func.html +171 -1020
  45. package/SVF-doxygen/html/html/functions_type.html +27 -17
  46. package/SVF-doxygen/html/html/functions_vars.html +151 -364
  47. package/SVF-doxygen/html/html/globals.html +53 -11
  48. package/SVF-doxygen/html/html/globals_func.html +22 -236
  49. package/SVF-doxygen/html/html/hierarchy.html +9 -543
  50. package/SVF-doxygen/html/html/menudata.js +44 -294
  51. package/SVF-doxygen/html/html/mta_8cpp.html +8 -16
  52. package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -18
  53. package/SVF-doxygen/html/html/namespaceSVF.html +9 -6287
  54. package/SVF-doxygen/html/html/namespacemembers.html +3 -35
  55. package/SVF-doxygen/html/html/namespacemembers_type.html +3 -26
  56. package/SVF-doxygen/html/html/namespaces.html +2 -9
  57. package/SVF-doxygen/html/html/saber_8cpp.html +104 -53
  58. package/SVF-doxygen/html/html/saber_8cpp_source.html +5 -19
  59. package/SVF-doxygen/html/html/search/all_0.js +1 -131
  60. package/SVF-doxygen/html/html/search/all_1.js +4 -449
  61. package/SVF-doxygen/html/html/search/all_10.js +9 -310
  62. package/SVF-doxygen/html/html/search/all_11.js +1 -187
  63. package/SVF-doxygen/html/html/search/all_12.js +4 -474
  64. package/SVF-doxygen/html/html/search/all_2.js +17 -141
  65. package/SVF-doxygen/html/html/search/all_3.js +5 -592
  66. package/SVF-doxygen/html/html/search/all_4.js +3 -222
  67. package/SVF-doxygen/html/html/search/all_5.js +3 -141
  68. package/SVF-doxygen/html/html/search/all_6.js +12 -211
  69. package/SVF-doxygen/html/html/search/all_7.js +1 -923
  70. package/SVF-doxygen/html/html/search/all_8.js +17 -187
  71. package/SVF-doxygen/html/html/search/all_9.js +11 -553
  72. package/SVF-doxygen/html/html/search/all_a.js +17 -10
  73. package/SVF-doxygen/html/html/search/all_b.js +11 -21
  74. package/SVF-doxygen/html/html/search/all_c.js +5 -112
  75. package/SVF-doxygen/html/html/search/all_d.js +15 -190
  76. package/SVF-doxygen/html/html/search/all_e.js +7 -198
  77. package/SVF-doxygen/html/html/search/all_f.js +6 -122
  78. package/SVF-doxygen/html/html/search/classes_0.js +1 -25
  79. package/SVF-doxygen/html/html/search/classes_1.js +1 -7
  80. package/SVF-doxygen/html/html/search/classes_2.js +3 -69
  81. package/SVF-doxygen/html/html/search/classes_3.js +2 -32
  82. package/SVF-doxygen/html/html/search/files_0.js +2 -11
  83. package/SVF-doxygen/html/html/search/files_1.js +1 -5
  84. package/SVF-doxygen/html/html/search/files_2.js +2 -48
  85. package/SVF-doxygen/html/html/search/files_3.js +5 -14
  86. package/SVF-doxygen/html/html/search/files_4.js +2 -4
  87. package/SVF-doxygen/html/html/search/files_5.js +1 -13
  88. package/SVF-doxygen/html/html/search/functions_0.js +3 -339
  89. package/SVF-doxygen/html/html/search/functions_1.js +8 -73
  90. package/SVF-doxygen/html/html/search/functions_2.js +4 -228
  91. package/SVF-doxygen/html/html/search/functions_3.js +3 -69
  92. package/SVF-doxygen/html/html/search/functions_4.js +1 -50
  93. package/SVF-doxygen/html/html/search/functions_5.js +12 -49
  94. package/SVF-doxygen/html/html/search/functions_6.js +1 -766
  95. package/SVF-doxygen/html/html/search/functions_7.js +7 -143
  96. package/SVF-doxygen/html/html/search/functions_8.js +2 -393
  97. package/SVF-doxygen/html/html/search/functions_9.js +9 -4
  98. package/SVF-doxygen/html/html/search/functions_a.js +5 -1
  99. package/SVF-doxygen/html/html/search/functions_b.js +4 -20
  100. package/SVF-doxygen/html/html/search/functions_c.js +2 -72
  101. package/SVF-doxygen/html/html/search/functions_d.js +2 -31
  102. package/SVF-doxygen/html/html/search/functions_e.js +5 -58
  103. package/SVF-doxygen/html/html/search/functions_f.js +4 -132
  104. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  105. package/SVF-doxygen/html/html/search/searchdata.js +9 -21
  106. package/SVF-doxygen/html/html/search/typedefs_0.js +3 -15
  107. package/SVF-doxygen/html/html/search/typedefs_1.js +2 -24
  108. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -120
  109. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -41
  110. package/SVF-doxygen/html/html/search/typedefs_4.js +3 -15
  111. package/SVF-doxygen/html/html/search/typedefs_5.js +2 -41
  112. package/SVF-doxygen/html/html/search/variables_0.js +1 -131
  113. package/SVF-doxygen/html/html/search/variables_1.js +2 -66
  114. package/SVF-doxygen/html/html/search/variables_2.js +4 -30
  115. package/SVF-doxygen/html/html/search/variables_3.js +2 -136
  116. package/SVF-doxygen/html/html/search/variables_4.js +8 -54
  117. package/SVF-doxygen/html/html/search/variables_5.js +6 -35
  118. package/SVF-doxygen/html/html/search/variables_6.js +3 -66
  119. package/SVF-doxygen/html/html/search/variables_7.js +10 -30
  120. package/SVF-doxygen/html/html/search/variables_8.js +7 -8
  121. package/SVF-doxygen/html/html/search/variables_9.js +2 -68
  122. package/SVF-doxygen/html/html/search/variables_a.js +4 -3
  123. package/SVF-doxygen/html/html/search/variables_b.js +2 -10
  124. package/SVF-doxygen/html/html/svf-ex_8cpp.html +31 -86
  125. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -64
  126. package/SVF-doxygen/html/html/wpa_8cpp.html +6 -12
  127. package/SVF-doxygen/html/html/wpa_8cpp_source.html +2 -14
  128. package/package.json +1 -1
  129. package/svf/CMakeLists.txt +26 -0
  130. package/{include → svf/include}/AbstractExecution/AbstractValue.h +0 -0
  131. package/{include → svf/include}/AbstractExecution/AddressValue.h +0 -0
  132. package/{include → svf/include}/AbstractExecution/ExeState.h +0 -0
  133. package/{include → svf/include}/AbstractExecution/IntervalExeState.h +0 -0
  134. package/{include → svf/include}/AbstractExecution/IntervalValue.h +0 -0
  135. package/{include → svf/include}/AbstractExecution/NumericLiteral.h +0 -0
  136. package/{include → svf/include}/AbstractExecution/RelExeState.h +0 -0
  137. package/{include → svf/include}/AbstractExecution/RelationSolver.h +0 -0
  138. package/{include → svf/include}/AbstractExecution/SVFIR2ItvExeState.h +0 -0
  139. package/{include → svf/include}/AbstractExecution/WTO.h +0 -0
  140. package/{include → svf/include}/CFL/CFGNormalizer.h +0 -0
  141. package/{include → svf/include}/CFL/CFLAlias.h +0 -0
  142. package/{include → svf/include}/CFL/CFLBase.h +0 -0
  143. package/{include → svf/include}/CFL/CFLData.h +0 -0
  144. package/{include → svf/include}/CFL/CFLDataBuilder.h +0 -0
  145. package/{include → svf/include}/CFL/CFLGramGraphChecker.h +0 -0
  146. package/{include → svf/include}/CFL/CFLGrammar.h +0 -0
  147. package/{include → svf/include}/CFL/CFLGrammar.txt +0 -0
  148. package/{include → svf/include}/CFL/CFLGraphBuilder.h +0 -0
  149. package/{include → svf/include}/CFL/CFLSolver.h +0 -0
  150. package/{include → svf/include}/CFL/CFLStat.h +0 -0
  151. package/{include → svf/include}/CFL/CFLVF.h +0 -0
  152. package/{include → svf/include}/CFL/GrammarBuilder.h +0 -0
  153. package/{include → svf/include}/CFL/PEGGrammar.txt +0 -0
  154. package/{include → svf/include}/CFL/VFG.txt +0 -0
  155. package/{include → svf/include}/DDA/ContextDDA.h +0 -0
  156. package/{include → svf/include}/DDA/DDAClient.h +0 -0
  157. package/{include → svf/include}/DDA/DDAPass.h +0 -0
  158. package/{include → svf/include}/DDA/DDAStat.h +0 -0
  159. package/{include → svf/include}/DDA/DDAVFSolver.h +0 -0
  160. package/{include → svf/include}/DDA/FlowDDA.h +0 -0
  161. package/{include → svf/include}/FastCluster/LICENSE.TXT +0 -0
  162. package/{include → svf/include}/FastCluster/fastcluster.h +0 -0
  163. package/{include → svf/include}/Graphs/CFLGraph.h +0 -0
  164. package/{include → svf/include}/Graphs/CHG.h +0 -0
  165. package/{include → svf/include}/Graphs/ConsG.h +0 -0
  166. package/{include → svf/include}/Graphs/ConsGEdge.h +0 -0
  167. package/{include → svf/include}/Graphs/ConsGNode.h +0 -0
  168. package/{include → svf/include}/Graphs/DOTGraphTraits.h +0 -0
  169. package/{include → svf/include}/Graphs/GenericGraph.h +0 -0
  170. package/{include → svf/include}/Graphs/GraphPrinter.h +0 -0
  171. package/{include → svf/include}/Graphs/GraphTraits.h +0 -0
  172. package/{include → svf/include}/Graphs/GraphWriter.h +0 -0
  173. package/{include → svf/include}/Graphs/ICFG.h +0 -0
  174. package/{include → svf/include}/Graphs/ICFGEdge.h +0 -0
  175. package/{include → svf/include}/Graphs/ICFGNode.h +0 -0
  176. package/{include → svf/include}/Graphs/ICFGStat.h +0 -0
  177. package/{include → svf/include}/Graphs/IRGraph.h +0 -0
  178. package/{include → svf/include}/Graphs/PTACallGraph.h +0 -0
  179. package/{include → svf/include}/Graphs/SVFG.h +0 -0
  180. package/{include → svf/include}/Graphs/SVFGEdge.h +0 -0
  181. package/{include → svf/include}/Graphs/SVFGNode.h +0 -0
  182. package/{include → svf/include}/Graphs/SVFGOPT.h +0 -0
  183. package/{include → svf/include}/Graphs/SVFGStat.h +0 -0
  184. package/{include → svf/include}/Graphs/ThreadCallGraph.h +0 -0
  185. package/{include → svf/include}/Graphs/VFG.h +0 -0
  186. package/{include → svf/include}/Graphs/VFGEdge.h +0 -0
  187. package/{include → svf/include}/Graphs/VFGNode.h +0 -0
  188. package/{include → svf/include}/MSSA/MSSAMuChi.h +0 -0
  189. package/{include → svf/include}/MSSA/MemPartition.h +0 -0
  190. package/{include → svf/include}/MSSA/MemRegion.h +0 -0
  191. package/{include → svf/include}/MSSA/MemSSA.h +0 -0
  192. package/{include → svf/include}/MSSA/SVFGBuilder.h +0 -0
  193. package/{include → svf/include}/MTA/FSMPTA.h +0 -0
  194. package/{include → svf/include}/MTA/LockAnalysis.h +0 -0
  195. package/{include → svf/include}/MTA/MHP.h +0 -0
  196. package/{include → svf/include}/MTA/MTA.h +0 -0
  197. package/{include → svf/include}/MTA/MTAResultValidator.h +0 -0
  198. package/{include → svf/include}/MTA/MTAStat.h +0 -0
  199. package/{include → svf/include}/MTA/PCG.h +0 -0
  200. package/{include → svf/include}/MTA/TCT.h +0 -0
  201. package/{include → svf/include}/MemoryModel/AbstractPointsToDS.h +0 -0
  202. package/{include → svf/include}/MemoryModel/ConditionalPT.h +0 -0
  203. package/{include → svf/include}/MemoryModel/LocationSet.h +0 -0
  204. package/{include → svf/include}/MemoryModel/MutablePointsToDS.h +0 -0
  205. package/{include → svf/include}/MemoryModel/PersistentPointsToCache.h +0 -0
  206. package/{include → svf/include}/MemoryModel/PersistentPointsToDS.h +0 -0
  207. package/{include → svf/include}/MemoryModel/PointerAnalysis.h +0 -0
  208. package/{include → svf/include}/MemoryModel/PointerAnalysisImpl.h +0 -0
  209. package/{include → svf/include}/MemoryModel/PointsTo.h +0 -0
  210. package/{include → svf/include}/MemoryModel/SVFLoop.h +0 -0
  211. package/{include → svf/include}/SABER/DoubleFreeChecker.h +0 -0
  212. package/{include → svf/include}/SABER/FileChecker.h +0 -0
  213. package/{include → svf/include}/SABER/LeakChecker.h +0 -0
  214. package/{include → svf/include}/SABER/ProgSlice.h +0 -0
  215. package/{include → svf/include}/SABER/SaberCheckerAPI.h +0 -0
  216. package/{include → svf/include}/SABER/SaberCondAllocator.h +0 -0
  217. package/{include → svf/include}/SABER/SaberSVFGBuilder.h +0 -0
  218. package/{include → svf/include}/SABER/SrcSnkDDA.h +0 -0
  219. package/{include → svf/include}/SABER/SrcSnkSolver.h +0 -0
  220. package/{include → svf/include}/SVFIR/PAGBuilderFromFile.h +0 -0
  221. package/{include → svf/include}/SVFIR/SVFIR.h +0 -0
  222. package/{include → svf/include}/SVFIR/SVFModule.h +0 -0
  223. package/{include → svf/include}/SVFIR/SVFStatements.h +0 -0
  224. package/{include → svf/include}/SVFIR/SVFType.h +12 -14
  225. package/{include → svf/include}/SVFIR/SVFValue.h +0 -0
  226. package/{include → svf/include}/SVFIR/SVFVariables.h +0 -0
  227. package/{include → svf/include}/SVFIR/SymbolTableInfo.h +0 -0
  228. package/{include → svf/include}/Util/Annotator.h +0 -0
  229. package/{include → svf/include}/Util/BitVector.h +0 -0
  230. package/{include → svf/include}/Util/CallGraphBuilder.h +0 -0
  231. package/{include → svf/include}/Util/Casting.h +0 -0
  232. package/{include → svf/include}/Util/CommandLine.h +0 -0
  233. package/{include → svf/include}/Util/CoreBitVector.h +0 -0
  234. package/{include → svf/include}/Util/CppUtil.h +0 -0
  235. package/{include → svf/include}/Util/CxtStmt.h +0 -0
  236. package/{include → svf/include}/Util/DPItem.h +0 -0
  237. package/{include → svf/include}/Util/ExtAPI.h +2 -2
  238. package/{include → svf/include}/Util/ExtAPI.json +0 -0
  239. package/{include → svf/include}/Util/GraphReachSolver.h +0 -0
  240. package/{include → svf/include}/Util/NodeIDAllocator.h +0 -0
  241. package/{include → svf/include}/Util/Options.h +0 -0
  242. package/{include → svf/include}/Util/PTAStat.h +0 -0
  243. package/{include → svf/include}/Util/SCC.h +0 -0
  244. package/{include → svf/include}/Util/SVFStat.h +0 -0
  245. package/{include → svf/include}/Util/SVFUtil.h +0 -0
  246. package/{include → svf/include}/Util/SparseBitVector.h +0 -0
  247. package/{include → svf/include}/Util/ThreadAPI.h +0 -0
  248. package/{include → svf/include}/Util/WorkList.h +0 -0
  249. package/{include → svf/include}/Util/Z3Expr.h +0 -0
  250. package/{include → svf/include}/Util/cJSON.h +0 -0
  251. package/{include → svf/include}/Util/iterator.h +0 -0
  252. package/{include → svf/include}/Util/iterator_range.h +0 -0
  253. package/{include → svf/include}/WPA/Andersen.h +0 -0
  254. package/{include → svf/include}/WPA/AndersenPWC.h +0 -0
  255. package/{include → svf/include}/WPA/CSC.h +0 -0
  256. package/{include → svf/include}/WPA/FlowSensitive.h +0 -0
  257. package/{include → svf/include}/WPA/Steensgaard.h +0 -0
  258. package/{include → svf/include}/WPA/TypeAnalysis.h +0 -0
  259. package/{include → svf/include}/WPA/VersionedFlowSensitive.h +0 -0
  260. package/{include → svf/include}/WPA/WPAFSSolver.h +0 -0
  261. package/{include → svf/include}/WPA/WPAPass.h +0 -0
  262. package/{include → svf/include}/WPA/WPASolver.h +0 -0
  263. package/{include → svf/include}/WPA/WPAStat.h +0 -0
  264. package/{lib → svf/lib}/AbstractExecution/ExeState.cpp +0 -0
  265. package/{lib → svf/lib}/AbstractExecution/IntervalExeState.cpp +0 -0
  266. package/{lib → svf/lib}/AbstractExecution/RelExeState.cpp +0 -0
  267. package/{lib → svf/lib}/AbstractExecution/RelationSolver.cpp +0 -0
  268. package/{lib → svf/lib}/AbstractExecution/SVFIR2ItvExeState.cpp +0 -0
  269. package/{lib → svf/lib}/AbstractExecution/SVFIR2Relation.cpp +0 -0
  270. package/{lib → svf/lib}/CFL/CFGNormalizer.cpp +0 -0
  271. package/{lib → svf/lib}/CFL/CFLAlias.cpp +0 -0
  272. package/{lib → svf/lib}/CFL/CFLBase.cpp +0 -0
  273. package/{lib → svf/lib}/CFL/CFLGrammar.cpp +0 -0
  274. package/{lib → svf/lib}/CFL/CFLGraphBuilder.cpp +0 -0
  275. package/{lib → svf/lib}/CFL/CFLSolver.cpp +0 -0
  276. package/{lib → svf/lib}/CFL/CFLStat.cpp +0 -0
  277. package/{lib → svf/lib}/CFL/CFLVF.cpp +0 -0
  278. package/{lib → svf/lib}/CFL/GrammarBuilder.cpp +6 -1
  279. package/{lib → svf/lib}/DDA/ContextDDA.cpp +0 -0
  280. package/{lib → svf/lib}/DDA/DDAClient.cpp +0 -0
  281. package/{lib → svf/lib}/DDA/DDAPass.cpp +0 -0
  282. package/{lib → svf/lib}/DDA/DDAStat.cpp +0 -0
  283. package/{lib → svf/lib}/DDA/FlowDDA.cpp +0 -0
  284. package/{lib → svf/lib}/FastCluster/LICENSE.TXT +0 -0
  285. package/{lib → svf/lib}/FastCluster/fastcluster.cpp +0 -0
  286. package/{lib → svf/lib}/FastCluster/fastcluster_R_dm.cpp.inc +0 -0
  287. package/{lib → svf/lib}/FastCluster/fastcluster_dm.cpp.inc +0 -0
  288. package/{lib → svf/lib}/Graphs/CFLGraph.cpp +0 -0
  289. package/{lib → svf/lib}/Graphs/CHG.cpp +0 -0
  290. package/{lib → svf/lib}/Graphs/ConsG.cpp +0 -0
  291. package/{lib → svf/lib}/Graphs/GraphWriter.cpp +0 -0
  292. package/{lib → svf/lib}/Graphs/ICFG.cpp +0 -0
  293. package/{lib → svf/lib}/Graphs/IRGraph.cpp +0 -0
  294. package/{lib → svf/lib}/Graphs/PTACallGraph.cpp +0 -0
  295. package/{lib → svf/lib}/Graphs/SVFG.cpp +0 -0
  296. package/{lib → svf/lib}/Graphs/SVFGOPT.cpp +0 -0
  297. package/{lib → svf/lib}/Graphs/SVFGReadWrite.cpp +0 -0
  298. package/{lib → svf/lib}/Graphs/SVFGStat.cpp +0 -0
  299. package/{lib → svf/lib}/Graphs/ThreadCallGraph.cpp +0 -0
  300. package/{lib → svf/lib}/Graphs/VFG.cpp +0 -0
  301. package/{lib → svf/lib}/MSSA/MemPartition.cpp +0 -0
  302. package/{lib → svf/lib}/MSSA/MemRegion.cpp +0 -0
  303. package/{lib → svf/lib}/MSSA/MemSSA.cpp +0 -0
  304. package/{lib → svf/lib}/MSSA/SVFGBuilder.cpp +0 -0
  305. package/{lib → svf/lib}/MTA/FSMPTA.cpp +0 -0
  306. package/{lib → svf/lib}/MTA/LockAnalysis.cpp +0 -0
  307. package/{lib → svf/lib}/MTA/MHP.cpp +0 -0
  308. package/{lib → svf/lib}/MTA/MTA.cpp +0 -0
  309. package/{lib → svf/lib}/MTA/MTAStat.cpp +0 -0
  310. package/{lib → svf/lib}/MTA/PCG.cpp +0 -0
  311. package/{lib → svf/lib}/MTA/TCT.cpp +0 -0
  312. package/{lib → svf/lib}/MemoryModel/LocationSet.cpp +0 -0
  313. package/{lib → svf/lib}/MemoryModel/PointerAnalysis.cpp +0 -0
  314. package/{lib → svf/lib}/MemoryModel/PointerAnalysisImpl.cpp +0 -0
  315. package/{lib → svf/lib}/MemoryModel/PointsTo.cpp +0 -0
  316. package/{lib → svf/lib}/SABER/DoubleFreeChecker.cpp +0 -0
  317. package/{lib → svf/lib}/SABER/FileChecker.cpp +0 -0
  318. package/{lib → svf/lib}/SABER/LeakChecker.cpp +0 -0
  319. package/{lib → svf/lib}/SABER/ProgSlice.cpp +0 -0
  320. package/{lib → svf/lib}/SABER/SaberCheckerAPI.cpp +0 -0
  321. package/{lib → svf/lib}/SABER/SaberCondAllocator.cpp +0 -0
  322. package/{lib → svf/lib}/SABER/SaberSVFGBuilder.cpp +0 -0
  323. package/{lib → svf/lib}/SABER/SrcSnkDDA.cpp +0 -0
  324. package/{lib → svf/lib}/SVFIR/PAGBuilderFromFile.cpp +0 -0
  325. package/{lib → svf/lib}/SVFIR/SVFIR.cpp +0 -0
  326. package/{lib → svf/lib}/SVFIR/SVFModule.cpp +0 -0
  327. package/{lib → svf/lib}/SVFIR/SVFStatements.cpp +0 -0
  328. package/{lib → svf/lib}/SVFIR/SVFValue.cpp +0 -0
  329. package/{lib → svf/lib}/SVFIR/SVFVariables.cpp +0 -0
  330. package/{lib → svf/lib}/SVFIR/SymbolTableInfo.cpp +0 -0
  331. package/{lib → svf/lib}/Util/BitVector.cpp +0 -0
  332. package/{lib → svf/lib}/Util/CallGraphBuilder.cpp +0 -0
  333. package/{lib → svf/lib}/Util/CoreBitVector.cpp +0 -0
  334. package/{lib → svf/lib}/Util/CppUtil.cpp +0 -0
  335. package/{lib → svf/lib}/Util/ExtAPI.cpp +64 -58
  336. package/{lib → svf/lib}/Util/NodeIDAllocator.cpp +0 -0
  337. package/{lib → svf/lib}/Util/Options.cpp +0 -0
  338. package/{lib → svf/lib}/Util/PTAStat.cpp +0 -0
  339. package/{lib → svf/lib}/Util/SVFStat.cpp +0 -0
  340. package/{lib → svf/lib}/Util/SVFUtil.cpp +0 -0
  341. package/{lib → svf/lib}/Util/ThreadAPI.cpp +0 -0
  342. package/{lib → svf/lib}/Util/Z3Expr.cpp +0 -0
  343. package/{lib → svf/lib}/Util/cJSON.cpp +0 -0
  344. package/{lib → svf/lib}/WPA/Andersen.cpp +0 -0
  345. package/{lib → svf/lib}/WPA/AndersenSCD.cpp +0 -0
  346. package/{lib → svf/lib}/WPA/AndersenSFR.cpp +0 -0
  347. package/{lib → svf/lib}/WPA/AndersenStat.cpp +0 -0
  348. package/{lib → svf/lib}/WPA/AndersenWaveDiff.cpp +0 -0
  349. package/{lib → svf/lib}/WPA/CSC.cpp +0 -0
  350. package/{lib → svf/lib}/WPA/FlowSensitive.cpp +0 -0
  351. package/{lib → svf/lib}/WPA/FlowSensitiveStat.cpp +0 -0
  352. package/{lib → svf/lib}/WPA/Steensgaard.cpp +0 -0
  353. package/{lib → svf/lib}/WPA/TypeAnalysis.cpp +0 -0
  354. package/{lib → svf/lib}/WPA/VersionedFlowSensitive.cpp +0 -0
  355. package/{lib → svf/lib}/WPA/VersionedFlowSensitiveStat.cpp +0 -0
  356. package/{lib → svf/lib}/WPA/WPAPass.cpp +0 -0
  357. package/svf-llvm/CMakeLists.txt +21 -0
  358. package/{include → svf-llvm/include}/SVF-LLVM/BasicTypes.h +0 -0
  359. package/{include → svf-llvm/include}/SVF-LLVM/BreakConstantExpr.h +0 -0
  360. package/{include → svf-llvm/include}/SVF-LLVM/CHGBuilder.h +0 -0
  361. package/{include → svf-llvm/include}/SVF-LLVM/DCHG.h +0 -0
  362. package/{include → svf-llvm/include}/SVF-LLVM/GEPTypeBridgeIterator.h +0 -0
  363. package/{include → svf-llvm/include}/SVF-LLVM/ICFGBuilder.h +0 -0
  364. package/{include → svf-llvm/include}/SVF-LLVM/LLVMLoopAnalysis.h +0 -0
  365. package/{include → svf-llvm/include}/SVF-LLVM/LLVMModule.h +0 -0
  366. package/{include → svf-llvm/include}/SVF-LLVM/LLVMUtil.h +0 -0
  367. package/{include → svf-llvm/include}/SVF-LLVM/SVFIRBuilder.h +0 -0
  368. package/{include → svf-llvm/include}/SVF-LLVM/SymbolTableBuilder.h +0 -0
  369. package/{lib/SVF-LLVM → svf-llvm/lib}/BreakConstantExpr.cpp +0 -0
  370. package/{lib/SVF-LLVM → svf-llvm/lib}/CHGBuilder.cpp +0 -0
  371. package/{lib/SVF-LLVM → svf-llvm/lib}/DCHG.cpp +0 -0
  372. package/{lib/SVF-LLVM → svf-llvm/lib}/ICFGBuilder.cpp +0 -0
  373. package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMLoopAnalysis.cpp +0 -0
  374. package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMModule.cpp +0 -0
  375. package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMUtil.cpp +0 -0
  376. package/{lib/SVF-LLVM → svf-llvm/lib}/SVFIRBuilder.cpp +0 -0
  377. package/{lib/SVF-LLVM → svf-llvm/lib}/SymbolTableBuilder.cpp +0 -0
  378. package/tools/CFL/CMakeLists.txt +18 -7
  379. package/tools/CMakeLists.txt +2 -1
  380. package/tools/DDA/CMakeLists.txt +18 -7
  381. package/tools/Example/CMakeLists.txt +18 -7
  382. package/tools/Example/svf-ex.cpp +0 -1
  383. package/tools/MTA/CMakeLists.txt +20 -9
  384. package/tools/SABER/CMakeLists.txt +18 -7
  385. package/tools/WPA/CMakeLists.txt +18 -8
  386. package/lib/CMakeLists.txt +0 -55
@@ -63,57 +63,62 @@ $(function() {
63
63
  </div><!-- top -->
64
64
  <div class="header">
65
65
  <div class="summary">
66
- <a href="#func-members">Functions</a> &#124;
67
- <a href="#var-members">Variables</a> </div>
66
+ <a href="#func-members">Functions</a> </div>
68
67
  <div class="headertitle">
69
68
  <div class="title">dda.cpp File Reference</div> </div>
70
69
  </div><!--header-->
71
70
  <div class="contents">
72
- <div class="textblock"><code>#include &quot;<a class="el" href="LLVMUtil_8h_source.html">SVF-LLVM/LLVMUtil.h</a>&quot;</code><br />
73
- <code>#include &quot;<a class="el" href="SVFIRBuilder_8h_source.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</code><br />
74
- <code>#include &quot;<a class="el" href="DDAPass_8h_source.html">DDA/DDAPass.h</a>&quot;</code><br />
75
- <code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
71
+ <div class="textblock"><code>#include &quot;SVF-LLVM/LLVMUtil.h&quot;</code><br />
72
+ <code>#include &quot;SVF-LLVM/SVFIRBuilder.h&quot;</code><br />
73
+ <code>#include &quot;DDA/DDAPass.h&quot;</code><br />
74
+ <code>#include &quot;Util/Options.h&quot;</code><br />
76
75
  </div>
77
76
  <p><a href="dda_8cpp_source.html">Go to the source code of this file.</a></p>
78
77
  <table class="memberdecls">
79
78
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
80
79
  Functions</h2></td></tr>
80
+ <tr class="memitem:aab45572f58baa3f8dc5ed54e212b7840"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#aab45572f58baa3f8dc5ed54e212b7840">DAA</a> (&quot;daa&quot;, &quot;Demand-Driven Alias Analysis Pass&quot;, false)</td></tr>
81
+ <tr class="separator:aab45572f58baa3f8dc5ed54e212b7840"><td class="memSeparator" colspan="2">&#160;</td></tr>
82
+ <tr class="memitem:a1c2c3ba06219d3fde5cfe1a745fa311f"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a1c2c3ba06219d3fde5cfe1a745fa311f">REGPT</a> (&quot;dreg&quot;, &quot;Demand-driven regular points-to analysis&quot;, false)</td></tr>
83
+ <tr class="separator:a1c2c3ba06219d3fde5cfe1a745fa311f"><td class="memSeparator" colspan="2">&#160;</td></tr>
84
+ <tr class="memitem:a9e2df1a2ac7e26eb1be2e2dbab4699f4"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a9e2df1a2ac7e26eb1be2e2dbab4699f4">RFINEPT</a> (&quot;dref&quot;, &quot;Demand-driven refinement points-to analysis&quot;, false)</td></tr>
85
+ <tr class="separator:a9e2df1a2ac7e26eb1be2e2dbab4699f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
+ <tr class="memitem:aa897ff2ba2a78de743d8695c5776bd9e"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#aa897ff2ba2a78de743d8695c5776bd9e">ENABLEFIELD</a> (&quot;fdaa&quot;, &quot;enable field-sensitivity for demand-driven analysis&quot;, false)</td></tr>
87
+ <tr class="separator:aa897ff2ba2a78de743d8695c5776bd9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
+ <tr class="memitem:a02c0d2c3df5da031a63c2060fd9dd77d"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a02c0d2c3df5da031a63c2060fd9dd77d">ENABLECONTEXT</a> (&quot;cdaa&quot;, &quot;enable context-sensitivity for demand-driven analysis&quot;, false)</td></tr>
89
+ <tr class="separator:a02c0d2c3df5da031a63c2060fd9dd77d"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
+ <tr class="memitem:a994ea57cf2d8360458751a1f404b52d5"><td class="memItemLeft" align="right" valign="top">static Option&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a994ea57cf2d8360458751a1f404b52d5">ENABLEFLOW</a> (&quot;ldaa&quot;, &quot;enable flow-sensitivity for demand-driven analysis&quot;, false)</td></tr>
91
+ <tr class="separator:a994ea57cf2d8360458751a1f404b52d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
81
92
  <tr class="memitem:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
82
93
  <tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
83
- </table><table class="memberdecls">
84
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
85
- Variables</h2></td></tr>
86
- <tr class="memitem:aa87e1cd4be4709a21393ed9e1a0da6bb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#aa87e1cd4be4709a21393ed9e1a0da6bb">DAA</a> (&quot;daa&quot;, &quot;Demand-Driven Alias Analysis Pass&quot;, false)</td></tr>
87
- <tr class="separator:aa87e1cd4be4709a21393ed9e1a0da6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
88
- <tr class="memitem:aa4d54caa95b7971baaaa499dc52a83f0"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#aa4d54caa95b7971baaaa499dc52a83f0">REGPT</a> (&quot;dreg&quot;, &quot;Demand-driven regular points-to analysis&quot;, false)</td></tr>
89
- <tr class="separator:aa4d54caa95b7971baaaa499dc52a83f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
90
- <tr class="memitem:a67ee98e0a1d06555ea82c26cf1fa2b35"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a67ee98e0a1d06555ea82c26cf1fa2b35">RFINEPT</a> (&quot;dref&quot;, &quot;Demand-driven refinement points-to analysis&quot;, false)</td></tr>
91
- <tr class="separator:a67ee98e0a1d06555ea82c26cf1fa2b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
92
- <tr class="memitem:a33384804c17c2e3f457d80b47b114e1d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a33384804c17c2e3f457d80b47b114e1d">ENABLEFIELD</a> (&quot;fdaa&quot;, &quot;enable field-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td></tr>
93
- <tr class="separator:a33384804c17c2e3f457d80b47b114e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
- <tr class="memitem:a0a4ada5aa37179525df2c87a5c6e2685"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a0a4ada5aa37179525df2c87a5c6e2685">ENABLECONTEXT</a> (&quot;cdaa&quot;, &quot;enable context-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td></tr>
95
- <tr class="separator:a0a4ada5aa37179525df2c87a5c6e2685"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
- <tr class="memitem:a41cf6b3bb80c86976fab3561440031fe"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classOption.html">Option</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dda_8cpp.html#a41cf6b3bb80c86976fab3561440031fe">ENABLEFLOW</a> (&quot;ldaa&quot;, &quot;enable flow-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td></tr>
97
- <tr class="separator:a41cf6b3bb80c86976fab3561440031fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
98
94
  </table>
99
95
  <h2 class="groupheader">Function Documentation</h2>
100
- <a id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
101
- <h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">&#9670;&nbsp;</a></span>main()</h2>
96
+ <a id="aab45572f58baa3f8dc5ed54e212b7840"></a>
97
+ <h2 class="memtitle"><span class="permalink"><a href="#aab45572f58baa3f8dc5ed54e212b7840">&#9670;&nbsp;</a></span>DAA()</h2>
102
98
 
103
99
  <div class="memitem">
104
100
  <div class="memproto">
101
+ <table class="mlabels">
102
+ <tr>
103
+ <td class="mlabels-left">
105
104
  <table class="memname">
106
105
  <tr>
107
- <td class="memname">int main </td>
106
+ <td class="memname">static Option&lt;bool&gt; DAA </td>
108
107
  <td>(</td>
109
- <td class="paramtype">int&#160;</td>
110
- <td class="paramname"><em>argc</em>, </td>
108
+ <td class="paramtype">&quot;daa&quot;&#160;</td>
109
+ <td class="paramname">, </td>
111
110
  </tr>
112
111
  <tr>
113
112
  <td class="paramkey"></td>
114
113
  <td></td>
115
- <td class="paramtype">char **&#160;</td>
116
- <td class="paramname"><em>argv</em>&#160;</td>
114
+ <td class="paramtype">&quot;Demand-Driven Alias Analysis Pass&quot;&#160;</td>
115
+ <td class="paramname">, </td>
116
+ </tr>
117
+ <tr>
118
+ <td class="paramkey"></td>
119
+ <td></td>
120
+ <td class="paramtype">false&#160;</td>
121
+ <td class="paramname">&#160;</td>
117
122
  </tr>
118
123
  <tr>
119
124
  <td></td>
@@ -121,21 +126,17 @@ Variables</h2></td></tr>
121
126
  <td></td><td></td>
122
127
  </tr>
123
128
  </table>
129
+ </td>
130
+ <td class="mlabels-right">
131
+ <span class="mlabels"><span class="mlabel">static</span></span> </td>
132
+ </tr>
133
+ </table>
124
134
  </div><div class="memdoc">
125
135
 
126
- <p class="definition">Definition at line <a class="el" href="dda_8cpp_source.html#l00056">56</a> of file <a class="el" href="dda_8cpp_source.html">dda.cpp</a>.</p>
127
- <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; argc, argv, <span class="stringliteral">&quot;Demand-Driven Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; );</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> dda;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; dda.<a class="code" href="classSVF_1_1DDAPass.html#aca46f1d464f5766ae666661a164a51a9">runOnModule</a>(pag);</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; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAPass_html_aca46f1d464f5766ae666661a164a51a9"><div class="ttname"><a href="classSVF_1_1DDAPass.html#aca46f1d464f5766ae666661a164a51a9">SVF::DDAPass::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(SVFIR *module)</div><div class="ttdoc">We start from here. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00055">DDAPass.cpp:55</a></div></div>
128
- <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>
129
- <div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00046">SVFIRBuilder.h:46</a></div></div>
130
- <div class="ttc" id="classSVF_1_1DDAPass_html"><div class="ttname"><a href="classSVF_1_1DDAPass.html">SVF::DDAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00046">DDAPass.h:46</a></div></div>
131
- <div class="ttc" id="classOptionBase_html_a4fb6c6e4a1754d702c6c1730f54457e5"><div class="ttname"><a href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; parseOptions(int argc, char *argv[], std::string description, std::string callFormat)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00075">CommandLine.h:75</a></div></div>
132
- <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
133
- </div><!-- fragment -->
134
136
  </div>
135
137
  </div>
136
- <h2 class="groupheader">Variable Documentation</h2>
137
- <a id="aa87e1cd4be4709a21393ed9e1a0da6bb"></a>
138
- <h2 class="memtitle"><span class="permalink"><a href="#aa87e1cd4be4709a21393ed9e1a0da6bb">&#9670;&nbsp;</a></span>DAA</h2>
138
+ <a id="a02c0d2c3df5da031a63c2060fd9dd77d"></a>
139
+ <h2 class="memtitle"><span class="permalink"><a href="#a02c0d2c3df5da031a63c2060fd9dd77d">&#9670;&nbsp;</a></span>ENABLECONTEXT()</h2>
139
140
 
140
141
  <div class="memitem">
141
142
  <div class="memproto">
@@ -144,7 +145,27 @@ Variables</h2></td></tr>
144
145
  <td class="mlabels-left">
145
146
  <table class="memname">
146
147
  <tr>
147
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; DAA(&quot;daa&quot;, &quot;Demand-Driven Alias Analysis Pass&quot;, false)</td>
148
+ <td class="memname">static Option&lt;bool&gt; ENABLECONTEXT </td>
149
+ <td>(</td>
150
+ <td class="paramtype">&quot;cdaa&quot;&#160;</td>
151
+ <td class="paramname">, </td>
152
+ </tr>
153
+ <tr>
154
+ <td class="paramkey"></td>
155
+ <td></td>
156
+ <td class="paramtype">&quot;enable context-sensitivity for demand-driven analysis&quot;&#160;</td>
157
+ <td class="paramname">, </td>
158
+ </tr>
159
+ <tr>
160
+ <td class="paramkey"></td>
161
+ <td></td>
162
+ <td class="paramtype">false&#160;</td>
163
+ <td class="paramname">&#160;</td>
164
+ </tr>
165
+ <tr>
166
+ <td></td>
167
+ <td>)</td>
168
+ <td></td><td></td>
148
169
  </tr>
149
170
  </table>
150
171
  </td>
@@ -156,8 +177,8 @@ Variables</h2></td></tr>
156
177
 
157
178
  </div>
158
179
  </div>
159
- <a id="a0a4ada5aa37179525df2c87a5c6e2685"></a>
160
- <h2 class="memtitle"><span class="permalink"><a href="#a0a4ada5aa37179525df2c87a5c6e2685">&#9670;&nbsp;</a></span>ENABLECONTEXT</h2>
180
+ <a id="aa897ff2ba2a78de743d8695c5776bd9e"></a>
181
+ <h2 class="memtitle"><span class="permalink"><a href="#aa897ff2ba2a78de743d8695c5776bd9e">&#9670;&nbsp;</a></span>ENABLEFIELD()</h2>
161
182
 
162
183
  <div class="memitem">
163
184
  <div class="memproto">
@@ -166,7 +187,27 @@ Variables</h2></td></tr>
166
187
  <td class="mlabels-left">
167
188
  <table class="memname">
168
189
  <tr>
169
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; ENABLECONTEXT(&quot;cdaa&quot;, &quot;enable context-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td>
190
+ <td class="memname">static Option&lt;bool&gt; ENABLEFIELD </td>
191
+ <td>(</td>
192
+ <td class="paramtype">&quot;fdaa&quot;&#160;</td>
193
+ <td class="paramname">, </td>
194
+ </tr>
195
+ <tr>
196
+ <td class="paramkey"></td>
197
+ <td></td>
198
+ <td class="paramtype">&quot;enable field-sensitivity for demand-driven analysis&quot;&#160;</td>
199
+ <td class="paramname">, </td>
200
+ </tr>
201
+ <tr>
202
+ <td class="paramkey"></td>
203
+ <td></td>
204
+ <td class="paramtype">false&#160;</td>
205
+ <td class="paramname">&#160;</td>
206
+ </tr>
207
+ <tr>
208
+ <td></td>
209
+ <td>)</td>
210
+ <td></td><td></td>
170
211
  </tr>
171
212
  </table>
172
213
  </td>
@@ -178,8 +219,8 @@ Variables</h2></td></tr>
178
219
 
179
220
  </div>
180
221
  </div>
181
- <a id="a33384804c17c2e3f457d80b47b114e1d"></a>
182
- <h2 class="memtitle"><span class="permalink"><a href="#a33384804c17c2e3f457d80b47b114e1d">&#9670;&nbsp;</a></span>ENABLEFIELD</h2>
222
+ <a id="a994ea57cf2d8360458751a1f404b52d5"></a>
223
+ <h2 class="memtitle"><span class="permalink"><a href="#a994ea57cf2d8360458751a1f404b52d5">&#9670;&nbsp;</a></span>ENABLEFLOW()</h2>
183
224
 
184
225
  <div class="memitem">
185
226
  <div class="memproto">
@@ -188,7 +229,27 @@ Variables</h2></td></tr>
188
229
  <td class="mlabels-left">
189
230
  <table class="memname">
190
231
  <tr>
191
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; ENABLEFIELD(&quot;fdaa&quot;, &quot;enable field-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td>
232
+ <td class="memname">static Option&lt;bool&gt; ENABLEFLOW </td>
233
+ <td>(</td>
234
+ <td class="paramtype">&quot;ldaa&quot;&#160;</td>
235
+ <td class="paramname">, </td>
236
+ </tr>
237
+ <tr>
238
+ <td class="paramkey"></td>
239
+ <td></td>
240
+ <td class="paramtype">&quot;enable flow-sensitivity for demand-driven analysis&quot;&#160;</td>
241
+ <td class="paramname">, </td>
242
+ </tr>
243
+ <tr>
244
+ <td class="paramkey"></td>
245
+ <td></td>
246
+ <td class="paramtype">false&#160;</td>
247
+ <td class="paramname">&#160;</td>
248
+ </tr>
249
+ <tr>
250
+ <td></td>
251
+ <td>)</td>
252
+ <td></td><td></td>
192
253
  </tr>
193
254
  </table>
194
255
  </td>
@@ -200,30 +261,38 @@ Variables</h2></td></tr>
200
261
 
201
262
  </div>
202
263
  </div>
203
- <a id="a41cf6b3bb80c86976fab3561440031fe"></a>
204
- <h2 class="memtitle"><span class="permalink"><a href="#a41cf6b3bb80c86976fab3561440031fe">&#9670;&nbsp;</a></span>ENABLEFLOW</h2>
264
+ <a id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
265
+ <h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">&#9670;&nbsp;</a></span>main()</h2>
205
266
 
206
267
  <div class="memitem">
207
268
  <div class="memproto">
208
- <table class="mlabels">
209
- <tr>
210
- <td class="mlabels-left">
211
269
  <table class="memname">
212
270
  <tr>
213
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; ENABLEFLOW(&quot;ldaa&quot;, &quot;enable flow-sensitivity <a class="el" href="cJSON_8cpp.html#a8a10bf77b3753124dd7ae92c5c4184cc">for</a> demand-driven analysis&quot;, false)</td>
271
+ <td class="memname">int main </td>
272
+ <td>(</td>
273
+ <td class="paramtype">int&#160;</td>
274
+ <td class="paramname"><em>argc</em>, </td>
275
+ </tr>
276
+ <tr>
277
+ <td class="paramkey"></td>
278
+ <td></td>
279
+ <td class="paramtype">char **&#160;</td>
280
+ <td class="paramname"><em>argv</em>&#160;</td>
281
+ </tr>
282
+ <tr>
283
+ <td></td>
284
+ <td>)</td>
285
+ <td></td><td></td>
214
286
  </tr>
215
287
  </table>
216
- </td>
217
- <td class="mlabels-right">
218
- <span class="mlabels"><span class="mlabel">static</span></span> </td>
219
- </tr>
220
- </table>
221
288
  </div><div class="memdoc">
222
289
 
290
+ <p class="definition">Definition at line <a class="el" href="dda_8cpp_source.html#l00056">56</a> of file <a class="el" href="dda_8cpp_source.html">dda.cpp</a>.</p>
291
+ <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; moduleNameVec = OptionBase::parseOptions(</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; argc, argv, <span class="stringliteral">&quot;Demand-Driven Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; );</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; SVFIRBuilder builder(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; SVFIR* pag = builder.build();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; DDAPass dda;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; dda.runOnModule(pag);</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; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;}</div></div><!-- fragment -->
223
292
  </div>
224
293
  </div>
225
- <a id="aa4d54caa95b7971baaaa499dc52a83f0"></a>
226
- <h2 class="memtitle"><span class="permalink"><a href="#aa4d54caa95b7971baaaa499dc52a83f0">&#9670;&nbsp;</a></span>REGPT</h2>
294
+ <a id="a1c2c3ba06219d3fde5cfe1a745fa311f"></a>
295
+ <h2 class="memtitle"><span class="permalink"><a href="#a1c2c3ba06219d3fde5cfe1a745fa311f">&#9670;&nbsp;</a></span>REGPT()</h2>
227
296
 
228
297
  <div class="memitem">
229
298
  <div class="memproto">
@@ -232,7 +301,27 @@ Variables</h2></td></tr>
232
301
  <td class="mlabels-left">
233
302
  <table class="memname">
234
303
  <tr>
235
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; REGPT(&quot;dreg&quot;, &quot;Demand-driven regular points-to analysis&quot;, false)</td>
304
+ <td class="memname">static Option&lt;bool&gt; REGPT </td>
305
+ <td>(</td>
306
+ <td class="paramtype">&quot;dreg&quot;&#160;</td>
307
+ <td class="paramname">, </td>
308
+ </tr>
309
+ <tr>
310
+ <td class="paramkey"></td>
311
+ <td></td>
312
+ <td class="paramtype">&quot;Demand-driven regular points-to analysis&quot;&#160;</td>
313
+ <td class="paramname">, </td>
314
+ </tr>
315
+ <tr>
316
+ <td class="paramkey"></td>
317
+ <td></td>
318
+ <td class="paramtype">false&#160;</td>
319
+ <td class="paramname">&#160;</td>
320
+ </tr>
321
+ <tr>
322
+ <td></td>
323
+ <td>)</td>
324
+ <td></td><td></td>
236
325
  </tr>
237
326
  </table>
238
327
  </td>
@@ -244,8 +333,8 @@ Variables</h2></td></tr>
244
333
 
245
334
  </div>
246
335
  </div>
247
- <a id="a67ee98e0a1d06555ea82c26cf1fa2b35"></a>
248
- <h2 class="memtitle"><span class="permalink"><a href="#a67ee98e0a1d06555ea82c26cf1fa2b35">&#9670;&nbsp;</a></span>RFINEPT</h2>
336
+ <a id="a9e2df1a2ac7e26eb1be2e2dbab4699f4"></a>
337
+ <h2 class="memtitle"><span class="permalink"><a href="#a9e2df1a2ac7e26eb1be2e2dbab4699f4">&#9670;&nbsp;</a></span>RFINEPT()</h2>
249
338
 
250
339
  <div class="memitem">
251
340
  <div class="memproto">
@@ -254,7 +343,27 @@ Variables</h2></td></tr>
254
343
  <td class="mlabels-left">
255
344
  <table class="memname">
256
345
  <tr>
257
- <td class="memname"><a class="el" href="classOption.html">Option</a>&lt;bool&gt; RFINEPT(&quot;dref&quot;, &quot;Demand-driven refinement points-to analysis&quot;, false)</td>
346
+ <td class="memname">static Option&lt;bool&gt; RFINEPT </td>
347
+ <td>(</td>
348
+ <td class="paramtype">&quot;dref&quot;&#160;</td>
349
+ <td class="paramname">, </td>
350
+ </tr>
351
+ <tr>
352
+ <td class="paramkey"></td>
353
+ <td></td>
354
+ <td class="paramtype">&quot;Demand-driven refinement points-to analysis&quot;&#160;</td>
355
+ <td class="paramname">, </td>
356
+ </tr>
357
+ <tr>
358
+ <td class="paramkey"></td>
359
+ <td></td>
360
+ <td class="paramtype">false&#160;</td>
361
+ <td class="paramname">&#160;</td>
362
+ </tr>
363
+ <tr>
364
+ <td></td>
365
+ <td>)</td>
366
+ <td></td><td></td>
258
367
  </tr>
259
368
  </table>
260
369
  </td>
@@ -66,27 +66,15 @@ $(function() {
66
66
  <div class="title">dda.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="dda_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> // On Demand Value Flow Analysis</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//#include &quot;AliasUtil/AliasAnalysisCounter.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">//#include &quot;MemoryModel/ComTypeModel.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-LLVM/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIRBuilder_8h.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="DDAPass_8h.html">DDA/DDAPass.h</a>&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">//static cl::list&lt;const PassInfo*, bool, PassNameParser&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">//PassList(cl::desc(&quot;Optimizations available:&quot;));</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#aa87e1cd4be4709a21393ed9e1a0da6bb">DAA</a>(</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;daa&quot;</span>,</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;Demand-Driven Alias Analysis Pass&quot;</span>,</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#aa4d54caa95b7971baaaa499dc52a83f0">REGPT</a>(</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;dreg&quot;</span>,</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;Demand-driven regular points-to analysis&quot;</span>,</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;);</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#a67ee98e0a1d06555ea82c26cf1fa2b35">RFINEPT</a>(</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="stringliteral">&quot;dref&quot;</span>,</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;Demand-driven refinement points-to analysis&quot;</span>,</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#a33384804c17c2e3f457d80b47b114e1d">ENABLEFIELD</a>(</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;fdaa&quot;</span>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;enable field-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">false</span></div><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;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#a0a4ada5aa37179525df2c87a5c6e2685">ENABLECONTEXT</a>(</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;cdaa&quot;</span>,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot;enable context-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">false</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;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">static</span> <a class="code" href="classOption.html">Option&lt;bool&gt;</a> <a class="code" href="dda_8cpp.html#a41cf6b3bb80c86976fab3561440031fe">ENABLEFLOW</a>(</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;ldaa&quot;</span>,</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;enable flow-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;);</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"><a class="line" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 56</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; argc, argv, <span class="stringliteral">&quot;Demand-Driven Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; );</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#a5ecf1deb5646ccb46b0b3101417f4689">build</a>();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1DDAPass.html">DDAPass</a> dda;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; dda.<a class="code" href="classSVF_1_1DDAPass.html#aca46f1d464f5766ae666661a164a51a9">runOnModule</a>(pag);</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; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</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;</div><div class="ttc" id="dda_8cpp_html_a41cf6b3bb80c86976fab3561440031fe"><div class="ttname"><a href="dda_8cpp.html#a41cf6b3bb80c86976fab3561440031fe">ENABLEFLOW</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLEFLOW(&quot;ldaa&quot;, &quot;enable flow-sensitivity for demand-driven analysis&quot;, false)</div></div>
70
- <div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00013">GEPTypeBridgeIterator.h:13</a></div></div>
71
- <div class="ttc" id="classOption_html"><div class="ttname"><a href="classOption.html">Option&lt; bool &gt;</a></div></div>
72
- <div class="ttc" id="dda_8cpp_html_a67ee98e0a1d06555ea82c26cf1fa2b35"><div class="ttname"><a href="dda_8cpp.html#a67ee98e0a1d06555ea82c26cf1fa2b35">RFINEPT</a></div><div class="ttdeci">static Option&lt; bool &gt; RFINEPT(&quot;dref&quot;, &quot;Demand-driven refinement points-to analysis&quot;, false)</div></div>
73
- <div class="ttc" id="classSVF_1_1SVFIRBuilder_html_a5ecf1deb5646ccb46b0b3101417f4689"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#a5ecf1deb5646ccb46b0b3101417f4689">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build()</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00051">SVFIRBuilder.cpp:51</a></div></div>
74
- <div class="ttc" id="classSVF_1_1DDAPass_html_aca46f1d464f5766ae666661a164a51a9"><div class="ttname"><a href="classSVF_1_1DDAPass.html#aca46f1d464f5766ae666661a164a51a9">SVF::DDAPass::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(SVFIR *module)</div><div class="ttdoc">We start from here. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8cpp_source.html#l00055">DDAPass.cpp:55</a></div></div>
75
- <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>
76
- <div class="ttc" id="dda_8cpp_html_a0a4ada5aa37179525df2c87a5c6e2685"><div class="ttname"><a href="dda_8cpp.html#a0a4ada5aa37179525df2c87a5c6e2685">ENABLECONTEXT</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLECONTEXT(&quot;cdaa&quot;, &quot;enable context-sensitivity for demand-driven analysis&quot;, false)</div></div>
77
- <div class="ttc" id="classSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00046">SVFIRBuilder.h:46</a></div></div>
78
- <div class="ttc" id="classSVF_1_1DDAPass_html"><div class="ttname"><a href="classSVF_1_1DDAPass.html">SVF::DDAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00046">DDAPass.h:46</a></div></div>
79
- <div class="ttc" id="dda_8cpp_html_aa87e1cd4be4709a21393ed9e1a0da6bb"><div class="ttname"><a href="dda_8cpp.html#aa87e1cd4be4709a21393ed9e1a0da6bb">DAA</a></div><div class="ttdeci">static Option&lt; bool &gt; DAA(&quot;daa&quot;, &quot;Demand-Driven Alias Analysis Pass&quot;, false)</div></div>
69
+ <a href="dda_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> // On Demand Value Flow Analysis</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> //</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> // Author: Yulei Sui,</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">//#include &quot;AliasUtil/AliasAnalysisCounter.h&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">//#include &quot;MemoryModel/ComTypeModel.h&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;SVF-LLVM/LLVMUtil.h&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;SVF-LLVM/SVFIRBuilder.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;DDA/DDAPass.h&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;Util/Options.h&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">//static cl::list&lt;const PassInfo*, bool, PassNameParser&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">//PassList(cl::desc(&quot;Optimizations available:&quot;));</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#aab45572f58baa3f8dc5ed54e212b7840">DAA</a>(</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="stringliteral">&quot;daa&quot;</span>,</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="stringliteral">&quot;Demand-Driven Alias Analysis Pass&quot;</span>,</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;);</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#a1c2c3ba06219d3fde5cfe1a745fa311f">REGPT</a>(</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="stringliteral">&quot;dreg&quot;</span>,</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="stringliteral">&quot;Demand-driven regular points-to analysis&quot;</span>,</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;);</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#a9e2df1a2ac7e26eb1be2e2dbab4699f4">RFINEPT</a>(</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="stringliteral">&quot;dref&quot;</span>,</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="stringliteral">&quot;Demand-driven refinement points-to analysis&quot;</span>,</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;);</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#aa897ff2ba2a78de743d8695c5776bd9e">ENABLEFIELD</a>(</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="stringliteral">&quot;fdaa&quot;</span>,</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="stringliteral">&quot;enable field-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keyword">false</span></div><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;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#a02c0d2c3df5da031a63c2060fd9dd77d">ENABLECONTEXT</a>(</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="stringliteral">&quot;cdaa&quot;</span>,</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="stringliteral">&quot;enable context-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keyword">false</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;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">static</span> Option&lt;bool&gt; <a class="code" href="dda_8cpp.html#a994ea57cf2d8360458751a1f404b52d5">ENABLEFLOW</a>(</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="stringliteral">&quot;ldaa&quot;</span>,</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="stringliteral">&quot;enable flow-sensitivity for demand-driven analysis&quot;</span>,</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">false</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;);</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"><a class="line" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 56</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;{</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; moduleNameVec = OptionBase::parseOptions(</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; argc, argv, <span class="stringliteral">&quot;Demand-Driven Points-to Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&quot;</span></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; );</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; SVFIRBuilder builder(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; SVFIR* pag = builder.build();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; DDAPass dda;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; dda.runOnModule(pag);</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; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</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;</div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div></div>
70
+ <div class="ttc" id="dda_8cpp_html_aab45572f58baa3f8dc5ed54e212b7840"><div class="ttname"><a href="dda_8cpp.html#aab45572f58baa3f8dc5ed54e212b7840">DAA</a></div><div class="ttdeci">static Option&lt; bool &gt; DAA(&quot;daa&quot;, &quot;Demand-Driven Alias Analysis Pass&quot;, false)</div></div>
71
+ <div class="ttc" id="dda_8cpp_html_a9e2df1a2ac7e26eb1be2e2dbab4699f4"><div class="ttname"><a href="dda_8cpp.html#a9e2df1a2ac7e26eb1be2e2dbab4699f4">RFINEPT</a></div><div class="ttdeci">static Option&lt; bool &gt; RFINEPT(&quot;dref&quot;, &quot;Demand-driven refinement points-to analysis&quot;, false)</div></div>
72
+ <div class="ttc" id="dda_8cpp_html_a02c0d2c3df5da031a63c2060fd9dd77d"><div class="ttname"><a href="dda_8cpp.html#a02c0d2c3df5da031a63c2060fd9dd77d">ENABLECONTEXT</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLECONTEXT(&quot;cdaa&quot;, &quot;enable context-sensitivity for demand-driven analysis&quot;, false)</div></div>
73
+ <div class="ttc" id="dda_8cpp_html_a994ea57cf2d8360458751a1f404b52d5"><div class="ttname"><a href="dda_8cpp.html#a994ea57cf2d8360458751a1f404b52d5">ENABLEFLOW</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLEFLOW(&quot;ldaa&quot;, &quot;enable flow-sensitivity for demand-driven analysis&quot;, false)</div></div>
74
+ <div class="ttc" id="dda_8cpp_html_aa897ff2ba2a78de743d8695c5776bd9e"><div class="ttname"><a href="dda_8cpp.html#aa897ff2ba2a78de743d8695c5776bd9e">ENABLEFIELD</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLEFIELD(&quot;fdaa&quot;, &quot;enable field-sensitivity for demand-driven analysis&quot;, false)</div></div>
80
75
  <div class="ttc" id="dda_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="dda_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="dda_8cpp_source.html#l00056">dda.cpp:56</a></div></div>
81
- <div class="ttc" id="dda_8cpp_html_aa4d54caa95b7971baaaa499dc52a83f0"><div class="ttname"><a href="dda_8cpp.html#aa4d54caa95b7971baaaa499dc52a83f0">REGPT</a></div><div class="ttdeci">static Option&lt; bool &gt; REGPT(&quot;dreg&quot;, &quot;Demand-driven regular points-to analysis&quot;, false)</div></div>
82
- <div class="ttc" id="DDAPass_8h_html"><div class="ttname"><a href="DDAPass_8h.html">DDAPass.h</a></div></div>
83
- <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00037">AbstractValue.h:37</a></div></div>
85
- <div class="ttc" id="SVFIRBuilder_8h_html"><div class="ttname"><a href="SVFIRBuilder_8h.html">SVFIRBuilder.h</a></div></div>
86
- <div class="ttc" id="dda_8cpp_html_a33384804c17c2e3f457d80b47b114e1d"><div class="ttname"><a href="dda_8cpp.html#a33384804c17c2e3f457d80b47b114e1d">ENABLEFIELD</a></div><div class="ttdeci">static Option&lt; bool &gt; ENABLEFIELD(&quot;fdaa&quot;, &quot;enable field-sensitivity for demand-driven analysis&quot;, false)</div></div>
87
- <div class="ttc" id="classOptionBase_html_a4fb6c6e4a1754d702c6c1730f54457e5"><div class="ttname"><a href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; parseOptions(int argc, char *argv[], std::string description, std::string callFormat)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00075">CommandLine.h:75</a></div></div>
88
- <div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
89
- <div class="ttc" id="LLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
76
+ <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8cpp_source.html#l00016">LockResultValidator.cpp:16</a></div></div>
77
+ <div class="ttc" id="dda_8cpp_html_a1c2c3ba06219d3fde5cfe1a745fa311f"><div class="ttname"><a href="dda_8cpp.html#a1c2c3ba06219d3fde5cfe1a745fa311f">REGPT</a></div><div class="ttdeci">static Option&lt; bool &gt; REGPT(&quot;dreg&quot;, &quot;Demand-driven regular points-to analysis&quot;, false)</div></div>
90
78
  </div><!-- fragment --></div><!-- contents -->
91
79
  <!-- start footer part -->
92
80
  <hr class="footer"/><address class="footer"><small>
@@ -81,7 +81,7 @@ Files</h2></td></tr>
81
81
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
82
82
  <tr class="memitem:MTAResultValidator_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="MTAResultValidator_8cpp.html">MTAResultValidator.cpp</a> <a href="MTAResultValidator_8cpp_source.html">[code]</a></td></tr>
83
83
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
84
- <tr class="memitem:tools_2MTA_2MTAResultValidator_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="tools_2MTA_2MTAResultValidator_8h.html">MTAResultValidator.h</a> <a href="tools_2MTA_2MTAResultValidator_8h_source.html">[code]</a></td></tr>
84
+ <tr class="memitem:MTAResultValidator_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="MTAResultValidator_8h.html">MTAResultValidator.h</a> <a href="MTAResultValidator_8h_source.html">[code]</a></td></tr>
85
85
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
86
86
  </table>
87
87
  </div><!-- contents -->