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
@@ -3,70 +3,8 @@ var menudata={children:[
3
3
  {text:"Namespaces",url:"namespaces.html",children:[
4
4
  {text:"Namespace List",url:"namespaces.html"},
5
5
  {text:"Namespace Members",url:"namespacemembers.html",children:[
6
- {text:"All",url:"namespacemembers.html",children:[
7
- {text:"a",url:"namespacemembers.html#index_a"},
8
- {text:"b",url:"namespacemembers_b.html#index_b"},
9
- {text:"c",url:"namespacemembers_c.html#index_c"},
10
- {text:"d",url:"namespacemembers_d.html#index_d"},
11
- {text:"e",url:"namespacemembers_e.html#index_e"},
12
- {text:"f",url:"namespacemembers_f.html#index_f"},
13
- {text:"g",url:"namespacemembers_g.html#index_g"},
14
- {text:"h",url:"namespacemembers_h.html#index_h"},
15
- {text:"i",url:"namespacemembers_i.html#index_i"},
16
- {text:"l",url:"namespacemembers_l.html#index_l"},
17
- {text:"m",url:"namespacemembers_m.html#index_m"},
18
- {text:"n",url:"namespacemembers_n.html#index_n"},
19
- {text:"o",url:"namespacemembers_o.html#index_o"},
20
- {text:"p",url:"namespacemembers_p.html#index_p"},
21
- {text:"r",url:"namespacemembers_r.html#index_r"},
22
- {text:"s",url:"namespacemembers_s.html#index_s"},
23
- {text:"t",url:"namespacemembers_t.html#index_t"},
24
- {text:"u",url:"namespacemembers_u.html#index_u"},
25
- {text:"v",url:"namespacemembers_v.html#index_v"},
26
- {text:"w",url:"namespacemembers_w.html#index_w"},
27
- {text:"z",url:"namespacemembers_z.html#index_z"}]},
28
- {text:"Functions",url:"namespacemembers_func.html",children:[
29
- {text:"a",url:"namespacemembers_func.html#index_a"},
30
- {text:"b",url:"namespacemembers_func_b.html#index_b"},
31
- {text:"c",url:"namespacemembers_func_c.html#index_c"},
32
- {text:"d",url:"namespacemembers_func_d.html#index_d"},
33
- {text:"e",url:"namespacemembers_func_e.html#index_e"},
34
- {text:"f",url:"namespacemembers_func_f.html#index_f"},
35
- {text:"g",url:"namespacemembers_func_g.html#index_g"},
36
- {text:"h",url:"namespacemembers_func_h.html#index_h"},
37
- {text:"i",url:"namespacemembers_func_i.html#index_i"},
38
- {text:"m",url:"namespacemembers_func_m.html#index_m"},
39
- {text:"n",url:"namespacemembers_func_n.html#index_n"},
40
- {text:"o",url:"namespacemembers_func_o.html#index_o"},
41
- {text:"p",url:"namespacemembers_func_p.html#index_p"},
42
- {text:"r",url:"namespacemembers_func_r.html#index_r"},
43
- {text:"s",url:"namespacemembers_func_s.html#index_s"},
44
- {text:"t",url:"namespacemembers_func_t.html#index_t"},
45
- {text:"v",url:"namespacemembers_func_v.html#index_v"},
46
- {text:"w",url:"namespacemembers_func_w.html#index_w"}]},
47
- {text:"Variables",url:"namespacemembers_vars.html"},
48
- {text:"Typedefs",url:"namespacemembers_type.html",children:[
49
- {text:"a",url:"namespacemembers_type.html#index_a"},
50
- {text:"b",url:"namespacemembers_type_b.html#index_b"},
51
- {text:"c",url:"namespacemembers_type_c.html#index_c"},
52
- {text:"d",url:"namespacemembers_type_d.html#index_d"},
53
- {text:"e",url:"namespacemembers_type_e.html#index_e"},
54
- {text:"f",url:"namespacemembers_type_f.html#index_f"},
55
- {text:"g",url:"namespacemembers_type_g.html#index_g"},
56
- {text:"i",url:"namespacemembers_type_i.html#index_i"},
57
- {text:"l",url:"namespacemembers_type_l.html#index_l"},
58
- {text:"m",url:"namespacemembers_type_m.html#index_m"},
59
- {text:"n",url:"namespacemembers_type_n.html#index_n"},
60
- {text:"o",url:"namespacemembers_type_o.html#index_o"},
61
- {text:"p",url:"namespacemembers_type_p.html#index_p"},
62
- {text:"r",url:"namespacemembers_type_r.html#index_r"},
63
- {text:"s",url:"namespacemembers_type_s.html#index_s"},
64
- {text:"t",url:"namespacemembers_type_t.html#index_t"},
65
- {text:"u",url:"namespacemembers_type_u.html#index_u"},
66
- {text:"v",url:"namespacemembers_type_v.html#index_v"},
67
- {text:"w",url:"namespacemembers_type_w.html#index_w"}]},
68
- {text:"Enumerations",url:"namespacemembers_enum.html"},
69
- {text:"Enumerator",url:"namespacemembers_eval.html"}]}]},
6
+ {text:"All",url:"namespacemembers.html"},
7
+ {text:"Typedefs",url:"namespacemembers_type.html"}]}]},
70
8
  {text:"Classes",url:"annotated.html",children:[
71
9
  {text:"Class List",url:"annotated.html"},
72
10
  {text:"Class Index",url:"classes.html"},
@@ -74,240 +12,52 @@ var menudata={children:[
74
12
  {text:"Class Members",url:"functions.html",children:[
75
13
  {text:"All",url:"functions.html",children:[
76
14
  {text:"_",url:"functions.html#index__"},
77
- {text:"a",url:"functions_a.html#index_a"},
78
- {text:"b",url:"functions_b.html#index_b"},
79
- {text:"c",url:"functions_c.html#index_c"},
80
- {text:"d",url:"functions_d.html#index_d"},
81
- {text:"e",url:"functions_e.html#index_e"},
82
- {text:"f",url:"functions_f.html#index_f"},
83
- {text:"g",url:"functions_g.html#index_g"},
84
- {text:"h",url:"functions_h.html#index_h"},
85
- {text:"i",url:"functions_i.html#index_i"},
86
- {text:"j",url:"functions_j.html#index_j"},
87
- {text:"k",url:"functions_k.html#index_k"},
88
- {text:"l",url:"functions_l.html#index_l"},
89
- {text:"m",url:"functions_m.html#index_m"},
90
- {text:"n",url:"functions_n.html#index_n"},
91
- {text:"o",url:"functions_o.html#index_o"},
92
- {text:"p",url:"functions_p.html#index_p"},
93
- {text:"r",url:"functions_r.html#index_r"},
94
- {text:"s",url:"functions_s.html#index_s"},
95
- {text:"t",url:"functions_t.html#index_t"},
96
- {text:"u",url:"functions_u.html#index_u"},
97
- {text:"v",url:"functions_v.html#index_v"},
98
- {text:"w",url:"functions_w.html#index_w"},
99
- {text:"x",url:"functions_x.html#index_x"},
100
- {text:"y",url:"functions_y.html#index_y"},
101
- {text:"z",url:"functions_z.html#index_z"},
102
- {text:"~",url:"functions_0x7e.html#index_0x7e"}]},
15
+ {text:"a",url:"functions.html#index_a"},
16
+ {text:"c",url:"functions.html#index_c"},
17
+ {text:"d",url:"functions.html#index_d"},
18
+ {text:"f",url:"functions.html#index_f"},
19
+ {text:"g",url:"functions.html#index_g"},
20
+ {text:"h",url:"functions.html#index_h"},
21
+ {text:"i",url:"functions.html#index_i"},
22
+ {text:"l",url:"functions.html#index_l"},
23
+ {text:"m",url:"functions.html#index_m"},
24
+ {text:"n",url:"functions.html#index_n"},
25
+ {text:"p",url:"functions.html#index_p"},
26
+ {text:"r",url:"functions.html#index_r"},
27
+ {text:"s",url:"functions.html#index_s"},
28
+ {text:"t",url:"functions.html#index_t"},
29
+ {text:"v",url:"functions.html#index_v"},
30
+ {text:"~",url:"functions.html#index_0x7e"}]},
103
31
  {text:"Functions",url:"functions_func.html",children:[
104
32
  {text:"a",url:"functions_func.html#index_a"},
105
- {text:"b",url:"functions_func_b.html#index_b"},
106
- {text:"c",url:"functions_func_c.html#index_c"},
107
- {text:"d",url:"functions_func_d.html#index_d"},
108
- {text:"e",url:"functions_func_e.html#index_e"},
109
- {text:"f",url:"functions_func_f.html#index_f"},
110
- {text:"g",url:"functions_func_g.html#index_g"},
111
- {text:"h",url:"functions_func_h.html#index_h"},
112
- {text:"i",url:"functions_func_i.html#index_i"},
113
- {text:"j",url:"functions_func_j.html#index_j"},
114
- {text:"k",url:"functions_func_k.html#index_k"},
115
- {text:"l",url:"functions_func_l.html#index_l"},
116
- {text:"m",url:"functions_func_m.html#index_m"},
117
- {text:"n",url:"functions_func_n.html#index_n"},
118
- {text:"o",url:"functions_func_o.html#index_o"},
119
- {text:"p",url:"functions_func_p.html#index_p"},
120
- {text:"r",url:"functions_func_r.html#index_r"},
121
- {text:"s",url:"functions_func_s.html#index_s"},
122
- {text:"t",url:"functions_func_t.html#index_t"},
123
- {text:"u",url:"functions_func_u.html#index_u"},
124
- {text:"v",url:"functions_func_v.html#index_v"},
125
- {text:"w",url:"functions_func_w.html#index_w"},
126
- {text:"z",url:"functions_func_z.html#index_z"},
127
- {text:"~",url:"functions_func_0x7e.html#index_0x7e"}]},
33
+ {text:"c",url:"functions_func.html#index_c"},
34
+ {text:"d",url:"functions_func.html#index_d"},
35
+ {text:"g",url:"functions_func.html#index_g"},
36
+ {text:"h",url:"functions_func.html#index_h"},
37
+ {text:"i",url:"functions_func.html#index_i"},
38
+ {text:"l",url:"functions_func.html#index_l"},
39
+ {text:"m",url:"functions_func.html#index_m"},
40
+ {text:"p",url:"functions_func.html#index_p"},
41
+ {text:"r",url:"functions_func.html#index_r"},
42
+ {text:"s",url:"functions_func.html#index_s"},
43
+ {text:"v",url:"functions_func.html#index_v"},
44
+ {text:"~",url:"functions_func.html#index_0x7e"}]},
128
45
  {text:"Variables",url:"functions_vars.html",children:[
129
46
  {text:"_",url:"functions_vars.html#index__"},
130
- {text:"a",url:"functions_vars_a.html#index_a"},
131
- {text:"b",url:"functions_vars_b.html#index_b"},
132
- {text:"c",url:"functions_vars_c.html#index_c"},
133
- {text:"d",url:"functions_vars_d.html#index_d"},
134
- {text:"e",url:"functions_vars_e.html#index_e"},
135
- {text:"f",url:"functions_vars_f.html#index_f"},
136
- {text:"g",url:"functions_vars_g.html#index_g"},
137
- {text:"h",url:"functions_vars_h.html#index_h"},
138
- {text:"i",url:"functions_vars_i.html#index_i"},
139
- {text:"j",url:"functions_vars_j.html#index_j"},
140
- {text:"k",url:"functions_vars_k.html#index_k"},
141
- {text:"l",url:"functions_vars_l.html#index_l"},
142
- {text:"m",url:"functions_vars_m.html#index_m"},
143
- {text:"n",url:"functions_vars_n.html#index_n"},
144
- {text:"o",url:"functions_vars_o.html#index_o"},
145
- {text:"p",url:"functions_vars_p.html#index_p"},
146
- {text:"r",url:"functions_vars_r.html#index_r"},
147
- {text:"s",url:"functions_vars_s.html#index_s"},
148
- {text:"t",url:"functions_vars_t.html#index_t"},
149
- {text:"u",url:"functions_vars_u.html#index_u"},
150
- {text:"v",url:"functions_vars_v.html#index_v"},
151
- {text:"w",url:"functions_vars_w.html#index_w"},
152
- {text:"y",url:"functions_vars_y.html#index_y"},
153
- {text:"z",url:"functions_vars_z.html#index_z"}]},
154
- {text:"Typedefs",url:"functions_type.html",children:[
155
- {text:"a",url:"functions_type.html#index_a"},
156
- {text:"b",url:"functions_type_b.html#index_b"},
157
- {text:"c",url:"functions_type_c.html#index_c"},
158
- {text:"d",url:"functions_type_d.html#index_d"},
159
- {text:"e",url:"functions_type_e.html#index_e"},
160
- {text:"f",url:"functions_type_f.html#index_f"},
161
- {text:"g",url:"functions_type_g.html#index_g"},
162
- {text:"i",url:"functions_type_i.html#index_i"},
163
- {text:"j",url:"functions_type_j.html#index_j"},
164
- {text:"k",url:"functions_type_k.html#index_k"},
165
- {text:"l",url:"functions_type_l.html#index_l"},
166
- {text:"m",url:"functions_type_m.html#index_m"},
167
- {text:"n",url:"functions_type_n.html#index_n"},
168
- {text:"o",url:"functions_type_o.html#index_o"},
169
- {text:"p",url:"functions_type_p.html#index_p"},
170
- {text:"r",url:"functions_type_r.html#index_r"},
171
- {text:"s",url:"functions_type_s.html#index_s"},
172
- {text:"t",url:"functions_type_t.html#index_t"},
173
- {text:"u",url:"functions_type_u.html#index_u"},
174
- {text:"v",url:"functions_type_v.html#index_v"},
175
- {text:"w",url:"functions_type_w.html#index_w"}]},
176
- {text:"Enumerations",url:"functions_enum.html",children:[
177
- {text:"a",url:"functions_enum.html#index_a"},
178
- {text:"c",url:"functions_enum.html#index_c"},
179
- {text:"d",url:"functions_enum.html#index_d"},
180
- {text:"e",url:"functions_enum.html#index_e"},
181
- {text:"i",url:"functions_enum.html#index_i"},
182
- {text:"l",url:"functions_enum.html#index_l"},
183
- {text:"m",url:"functions_enum.html#index_m"},
184
- {text:"o",url:"functions_enum.html#index_o"},
185
- {text:"p",url:"functions_enum.html#index_p"},
186
- {text:"r",url:"functions_enum.html#index_r"},
187
- {text:"s",url:"functions_enum.html#index_s"},
188
- {text:"t",url:"functions_enum.html#index_t"},
189
- {text:"v",url:"functions_enum.html#index_v"},
190
- {text:"w",url:"functions_enum.html#index_w"}]},
191
- {text:"Enumerator",url:"functions_eval.html",children:[
192
- {text:"a",url:"functions_eval.html#index_a"},
193
- {text:"b",url:"functions_eval_b.html#index_b"},
194
- {text:"c",url:"functions_eval_c.html#index_c"},
195
- {text:"d",url:"functions_eval_d.html#index_d"},
196
- {text:"e",url:"functions_eval_e.html#index_e"},
197
- {text:"f",url:"functions_eval_f.html#index_f"},
198
- {text:"g",url:"functions_eval_g.html#index_g"},
199
- {text:"h",url:"functions_eval_h.html#index_h"},
200
- {text:"i",url:"functions_eval_i.html#index_i"},
201
- {text:"l",url:"functions_eval_l.html#index_l"},
202
- {text:"m",url:"functions_eval_m.html#index_m"},
203
- {text:"n",url:"functions_eval_n.html#index_n"},
204
- {text:"o",url:"functions_eval_o.html#index_o"},
205
- {text:"p",url:"functions_eval_p.html#index_p"},
206
- {text:"r",url:"functions_eval_r.html#index_r"},
207
- {text:"s",url:"functions_eval_s.html#index_s"},
208
- {text:"t",url:"functions_eval_t.html#index_t"},
209
- {text:"u",url:"functions_eval_u.html#index_u"},
210
- {text:"v",url:"functions_eval_v.html#index_v"},
211
- {text:"w",url:"functions_eval_w.html#index_w"},
212
- {text:"x",url:"functions_eval_x.html#index_x"}]},
213
- {text:"Related Functions",url:"functions_rela.html",children:[
214
- {text:"a",url:"functions_rela.html#index_a"},
215
- {text:"b",url:"functions_rela.html#index_b"},
216
- {text:"c",url:"functions_rela.html#index_c"},
217
- {text:"d",url:"functions_rela.html#index_d"},
218
- {text:"e",url:"functions_rela.html#index_e"},
219
- {text:"f",url:"functions_rela.html#index_f"},
220
- {text:"i",url:"functions_rela.html#index_i"},
221
- {text:"l",url:"functions_rela.html#index_l"},
222
- {text:"m",url:"functions_rela.html#index_m"},
223
- {text:"o",url:"functions_rela.html#index_o"},
224
- {text:"p",url:"functions_rela.html#index_p"},
225
- {text:"r",url:"functions_rela.html#index_r"},
226
- {text:"s",url:"functions_rela.html#index_s"},
227
- {text:"t",url:"functions_rela.html#index_t"},
228
- {text:"v",url:"functions_rela.html#index_v"}]}]}]},
47
+ {text:"a",url:"functions_vars.html#index_a"},
48
+ {text:"c",url:"functions_vars.html#index_c"},
49
+ {text:"f",url:"functions_vars.html#index_f"},
50
+ {text:"i",url:"functions_vars.html#index_i"},
51
+ {text:"l",url:"functions_vars.html#index_l"},
52
+ {text:"m",url:"functions_vars.html#index_m"},
53
+ {text:"n",url:"functions_vars.html#index_n"},
54
+ {text:"r",url:"functions_vars.html#index_r"},
55
+ {text:"s",url:"functions_vars.html#index_s"},
56
+ {text:"t",url:"functions_vars.html#index_t"},
57
+ {text:"v",url:"functions_vars.html#index_v"}]},
58
+ {text:"Typedefs",url:"functions_type.html"}]}]},
229
59
  {text:"Files",url:"files.html",children:[
230
60
  {text:"File List",url:"files.html"},
231
61
  {text:"File Members",url:"globals.html",children:[
232
- {text:"All",url:"globals.html",children:[
233
- {text:"_",url:"globals.html#index__"},
234
- {text:"a",url:"globals_a.html#index_a"},
235
- {text:"b",url:"globals_b.html#index_b"},
236
- {text:"c",url:"globals_c.html#index_c"},
237
- {text:"d",url:"globals_d.html#index_d"},
238
- {text:"e",url:"globals_e.html#index_e"},
239
- {text:"f",url:"globals_f.html#index_f"},
240
- {text:"g",url:"globals_g.html#index_g"},
241
- {text:"h",url:"globals_h.html#index_h"},
242
- {text:"i",url:"globals_i.html#index_i"},
243
- {text:"j",url:"globals_j.html#index_j"},
244
- {text:"k",url:"globals_k.html#index_k"},
245
- {text:"l",url:"globals_l.html#index_l"},
246
- {text:"m",url:"globals_m.html#index_m"},
247
- {text:"n",url:"globals_n.html#index_n"},
248
- {text:"o",url:"globals_o.html#index_o"},
249
- {text:"p",url:"globals_p.html#index_p"},
250
- {text:"r",url:"globals_r.html#index_r"},
251
- {text:"s",url:"globals_s.html#index_s"},
252
- {text:"t",url:"globals_t.html#index_t"},
253
- {text:"u",url:"globals_u.html#index_u"},
254
- {text:"v",url:"globals_v.html#index_v"},
255
- {text:"w",url:"globals_w.html#index_w"},
256
- {text:"z",url:"globals_z.html#index_z"}]},
257
- {text:"Functions",url:"globals_func.html",children:[
258
- {text:"a",url:"globals_func.html#index_a"},
259
- {text:"b",url:"globals_func.html#index_b"},
260
- {text:"c",url:"globals_func.html#index_c"},
261
- {text:"e",url:"globals_func.html#index_e"},
262
- {text:"f",url:"globals_func.html#index_f"},
263
- {text:"g",url:"globals_func.html#index_g"},
264
- {text:"h",url:"globals_func.html#index_h"},
265
- {text:"i",url:"globals_func.html#index_i"},
266
- {text:"m",url:"globals_func.html#index_m"},
267
- {text:"p",url:"globals_func.html#index_p"},
268
- {text:"r",url:"globals_func.html#index_r"},
269
- {text:"s",url:"globals_func.html#index_s"},
270
- {text:"t",url:"globals_func.html#index_t"},
271
- {text:"u",url:"globals_func.html#index_u"},
272
- {text:"w",url:"globals_func.html#index_w"}]},
273
- {text:"Variables",url:"globals_vars.html",children:[
274
- {text:"_",url:"globals_vars.html#index__"},
275
- {text:"a",url:"globals_vars.html#index_a"},
276
- {text:"b",url:"globals_vars.html#index_b"},
277
- {text:"c",url:"globals_vars.html#index_c"},
278
- {text:"d",url:"globals_vars.html#index_d"},
279
- {text:"e",url:"globals_vars.html#index_e"},
280
- {text:"f",url:"globals_vars.html#index_f"},
281
- {text:"g",url:"globals_vars.html#index_g"},
282
- {text:"h",url:"globals_vars.html#index_h"},
283
- {text:"i",url:"globals_vars.html#index_i"},
284
- {text:"j",url:"globals_vars.html#index_j"},
285
- {text:"k",url:"globals_vars.html#index_k"},
286
- {text:"l",url:"globals_vars.html#index_l"},
287
- {text:"n",url:"globals_vars.html#index_n"},
288
- {text:"o",url:"globals_vars.html#index_o"},
289
- {text:"p",url:"globals_vars.html#index_p"},
290
- {text:"r",url:"globals_vars.html#index_r"},
291
- {text:"s",url:"globals_vars.html#index_s"},
292
- {text:"t",url:"globals_vars.html#index_t"},
293
- {text:"v",url:"globals_vars.html#index_v"},
294
- {text:"w",url:"globals_vars.html#index_w"},
295
- {text:"z",url:"globals_vars.html#index_z"}]},
296
- {text:"Typedefs",url:"globals_type.html"},
297
- {text:"Enumerations",url:"globals_enum.html"},
298
- {text:"Enumerator",url:"globals_eval.html"},
299
- {text:"Macros",url:"globals_defs.html",children:[
300
- {text:"a",url:"globals_defs.html#index_a"},
301
- {text:"b",url:"globals_defs.html#index_b"},
302
- {text:"c",url:"globals_defs.html#index_c"},
303
- {text:"d",url:"globals_defs.html#index_d"},
304
- {text:"e",url:"globals_defs.html#index_e"},
305
- {text:"f",url:"globals_defs.html#index_f"},
306
- {text:"h",url:"globals_defs.html#index_h"},
307
- {text:"i",url:"globals_defs.html#index_i"},
308
- {text:"j",url:"globals_defs.html#index_j"},
309
- {text:"k",url:"globals_defs.html#index_k"},
310
- {text:"l",url:"globals_defs.html#index_l"},
311
- {text:"n",url:"globals_defs.html#index_n"},
312
- {text:"s",url:"globals_defs.html#index_s"},
313
- {text:"t",url:"globals_defs.html#index_t"}]}]}]}]}
62
+ {text:"All",url:"globals.html"},
63
+ {text:"Functions",url:"globals_func.html"}]}]}]}
@@ -68,12 +68,12 @@ $(function() {
68
68
  <div class="title">mta.cpp File Reference</div> </div>
69
69
  </div><!--header-->
70
70
  <div class="contents">
71
- <div class="textblock"><code>#include &quot;<a class="el" href="LLVMUtil_8h_source.html">SVF-LLVM/LLVMUtil.h</a>&quot;</code><br />
72
- <code>#include &quot;<a class="el" href="SVFIRBuilder_8h_source.html">SVF-LLVM/SVFIRBuilder.h</a>&quot;</code><br />
73
- <code>#include &quot;<a class="el" href="MTA_8h_source.html">MTA/MTA.h</a>&quot;</code><br />
74
- <code>#include &quot;<a class="el" href="CommandLine_8h_source.html">Util/CommandLine.h</a>&quot;</code><br />
75
- <code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
76
- <code>#include &quot;<a class="el" href="tools_2MTA_2MTAResultValidator_8h_source.html">MTAResultValidator.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;MTA/MTA.h&quot;</code><br />
74
+ <code>#include &quot;Util/CommandLine.h&quot;</code><br />
75
+ <code>#include &quot;Util/Options.h&quot;</code><br />
76
+ <code>#include &quot;<a class="el" href="MTAResultValidator_8h_source.html">MTAResultValidator.h</a>&quot;</code><br />
77
77
  <code>#include &quot;<a class="el" href="LockResultValidator_8h_source.html">LockResultValidator.h</a>&quot;</code><br />
78
78
  </div>
79
79
  <p><a href="mta_8cpp_source.html">Go to the source code of this file.</a></p>
@@ -111,18 +111,10 @@ Functions</h2></td></tr>
111
111
  </div><div class="memdoc">
112
112
 
113
113
  <p class="definition">Definition at line <a class="el" href="mta_8cpp_source.html#l00012">12</a> of file <a class="el" href="mta_8cpp_source.html">mta.cpp</a>.</p>
114
- <div class="fragment"><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;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</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="l00016"></a><span class="lineno"> 16</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; argc, argv, <span class="stringliteral">&quot;MTA Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&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;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="classSVF_1_1MTA.html">MTA</a> mta;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; mta.<a class="code" href="classSVF_1_1MTA.html#ad9172b17fa738bff616771df6f9e9c37">runOnModule</a>(pag);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAResultValidator.html">MTAResultValidator</a> MTAValidator(mta.<a class="code" href="classSVF_1_1MTA.html#a8cfcfb26e22cc40260f6df6d50701bdb">getMHP</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; MTAValidator.<a class="code" href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">analyze</a>();</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Initialize the validator and perform validation.</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1LockResultValidator.html">LockResultValidator</a> lockvalidator(mta.<a class="code" href="classSVF_1_1MTA.html#a76ea96c430365132011f1a4edf0d5570">getLockAnalysis</a>());</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; lockvalidator.<a class="code" href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">analyze</a>();</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="classSVF_1_1LockResultValidator_html"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html">SVF::LockResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00019">LockResultValidator.h:19</a></div></div>
115
- <div class="ttc" id="classSVF_1_1MTAResultValidator_html"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html">SVF::MTAResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00021">MTAResultValidator.h:21</a></div></div>
116
- <div class="ttc" id="classSVF_1_1MTA_html_a8cfcfb26e22cc40260f6df6d50701bdb"><div class="ttname"><a href="classSVF_1_1MTA.html#a8cfcfb26e22cc40260f6df6d50701bdb">SVF::MTA::getMHP</a></div><div class="ttdeci">MHP * getMHP()</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00082">MTA.h:82</a></div></div>
117
- <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>
118
- <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>
119
- <div class="ttc" id="classSVF_1_1MTA_html_ad9172b17fa738bff616771df6f9e9c37"><div class="ttname"><a href="classSVF_1_1MTA.html#ad9172b17fa738bff616771df6f9e9c37">SVF::MTA::runOnModule</a></div><div class="ttdeci">virtual bool runOnModule(SVFIR *module)</div><div class="ttdoc">We start the pass here. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8cpp_source.html#l00062">MTA.cpp:62</a></div></div>
114
+ <div class="fragment"><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;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</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="l00016"></a><span class="lineno"> 16</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; moduleNameVec = OptionBase::parseOptions(</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; argc, argv, <span class="stringliteral">&quot;MTA Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&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;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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; SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; SVFIRBuilder builder(svfModule);</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; SVFIR* pag = builder.build();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; MTA mta;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; mta.runOnModule(pag);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAResultValidator.html">MTAResultValidator</a> MTAValidator(mta.getMHP());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; MTAValidator.<a class="code" href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">analyze</a>();</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Initialize the validator and perform validation.</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1LockResultValidator.html">LockResultValidator</a> lockvalidator(mta.getLockAnalysis());</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; lockvalidator.<a class="code" href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">analyze</a>();</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="classSVF_1_1LockResultValidator_html"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html">SVF::LockResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00019">LockResultValidator.h:19</a></div></div>
115
+ <div class="ttc" id="classSVF_1_1MTAResultValidator_html"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html">SVF::MTAResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00022">MTAResultValidator.h:22</a></div></div>
120
116
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a462f1554e058b656861abfb0aa2e47ff"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">SVF::MTAResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00039">MTAResultValidator.cpp:39</a></div></div>
121
117
  <div class="ttc" id="classSVF_1_1LockResultValidator_html_a88ff3ed1398a0b847d71a4c0352ed66d"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">SVF::LockResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8cpp_source.html#l00201">LockResultValidator.cpp:201</a></div></div>
122
- <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>
123
- <div class="ttc" id="classSVF_1_1MTA_html"><div class="ttname"><a href="classSVF_1_1MTA.html">SVF::MTA</a></div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00056">MTA.h:56</a></div></div>
124
- <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>
125
- <div class="ttc" id="classSVF_1_1MTA_html_a76ea96c430365132011f1a4edf0d5570"><div class="ttname"><a href="classSVF_1_1MTA.html#a76ea96c430365132011f1a4edf0d5570">SVF::MTA::getLockAnalysis</a></div><div class="ttdeci">LockAnalysis * getLockAnalysis()</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00087">MTA.h:87</a></div></div>
126
118
  </div><!-- fragment -->
127
119
  </div>
128
120
  </div>
@@ -66,30 +66,16 @@ $(function() {
66
66
  <div class="title">mta.cpp</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="mta_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="preprocessor">#include &quot;<a class="code" href="LLVMUtil_8h.html">SVF-LLVM/LLVMUtil.h</a>&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</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="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MTA_8h.html">MTA/MTA.h</a>&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CommandLine_8h.html">Util/CommandLine.h</a>&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</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="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tools_2MTA_2MTAResultValidator_8h.html">MTAResultValidator.h</a>&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LockResultValidator_8h.html">LockResultValidator.h</a>&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 12</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</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;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</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="l00016"></a><span class="lineno"> 16</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; moduleNameVec = <a class="code" href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a>(</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; argc, argv, <span class="stringliteral">&quot;MTA Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&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;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(svfModule);</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</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="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="classSVF_1_1MTA.html">MTA</a> mta;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; mta.<a class="code" href="classSVF_1_1MTA.html#ad9172b17fa738bff616771df6f9e9c37">runOnModule</a>(pag);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAResultValidator.html">MTAResultValidator</a> MTAValidator(mta.<a class="code" href="classSVF_1_1MTA.html#a8cfcfb26e22cc40260f6df6d50701bdb">getMHP</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; MTAValidator.<a class="code" href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">analyze</a>();</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Initialize the validator and perform validation.</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1LockResultValidator.html">LockResultValidator</a> lockvalidator(mta.<a class="code" href="classSVF_1_1MTA.html#a76ea96c430365132011f1a4edf0d5570">getLockAnalysis</a>());</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; lockvalidator.<a class="code" href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">analyze</a>();</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="tools_2MTA_2MTAResultValidator_8h_html"><div class="ttname"><a href="tools_2MTA_2MTAResultValidator_8h.html">MTAResultValidator.h</a></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>
69
+ <a href="mta_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="preprocessor">#include &quot;SVF-LLVM/LLVMUtil.h&quot;</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;SVF-LLVM/SVFIRBuilder.h&quot;</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;MTA/MTA.h&quot;</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;Util/CommandLine.h&quot;</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &quot;Util/Options.h&quot;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MTAResultValidator_8h.html">MTAResultValidator.h</a>&quot;</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LockResultValidator_8h.html">LockResultValidator.h</a>&quot;</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacestd.html">std</a>;</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;</div><div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 12</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)</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;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</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="l00016"></a><span class="lineno"> 16</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; moduleNameVec = OptionBase::parseOptions(</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; argc, argv, <span class="stringliteral">&quot;MTA Analysis&quot;</span>, <span class="stringliteral">&quot;[options] &lt;input-bitcode...&gt;&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;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keywordflow">if</span> (Options::WriteAnder() == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</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; SVFModule* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; SVFIRBuilder builder(svfModule);</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; SVFIR* pag = builder.build();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; MTA mta;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; mta.runOnModule(pag);</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAResultValidator.html">MTAResultValidator</a> MTAValidator(mta.getMHP());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; MTAValidator.<a class="code" href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">analyze</a>();</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="comment">// Initialize the validator and perform validation.</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1LockResultValidator.html">LockResultValidator</a> lockvalidator(mta.getLockAnalysis());</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; lockvalidator.<a class="code" href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">analyze</a>();</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">delete</span>[] arg_value;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div></div>
71
70
  <div class="ttc" id="classSVF_1_1LockResultValidator_html"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html">SVF::LockResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8h_source.html#l00019">LockResultValidator.h:19</a></div></div>
72
71
  <div class="ttc" id="mta_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="mta_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="mta_8cpp_source.html#l00012">mta.cpp:12</a></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_1MTAResultValidator_html"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html">SVF::MTAResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00021">MTAResultValidator.h:21</a></div></div>
75
- <div class="ttc" id="classSVF_1_1MTA_html_a8cfcfb26e22cc40260f6df6d50701bdb"><div class="ttname"><a href="classSVF_1_1MTA.html#a8cfcfb26e22cc40260f6df6d50701bdb">SVF::MTA::getMHP</a></div><div class="ttdeci">MHP * getMHP()</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00082">MTA.h:82</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1MTAResultValidator_html"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html">SVF::MTAResultValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00022">MTAResultValidator.h:22</a></div></div>
76
73
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
77
- <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>
78
- <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>
79
- <div class="ttc" id="CommandLine_8h_html"><div class="ttname"><a href="CommandLine_8h.html">CommandLine.h</a></div></div>
74
+ <div class="ttc" id="MTAResultValidator_8h_html"><div class="ttname"><a href="MTAResultValidator_8h.html">MTAResultValidator.h</a></div></div>
80
75
  <div class="ttc" id="LockResultValidator_8h_html"><div class="ttname"><a href="LockResultValidator_8h.html">LockResultValidator.h</a></div></div>
81
- <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
82
- <div class="ttc" id="classSVF_1_1MTA_html_ad9172b17fa738bff616771df6f9e9c37"><div class="ttname"><a href="classSVF_1_1MTA.html#ad9172b17fa738bff616771df6f9e9c37">SVF::MTA::runOnModule</a></div><div class="ttdeci">virtual bool runOnModule(SVFIR *module)</div><div class="ttdoc">We start the pass here. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8cpp_source.html#l00062">MTA.cpp:62</a></div></div>
83
76
  <div class="ttc" id="classSVF_1_1MTAResultValidator_html_a462f1554e058b656861abfb0aa2e47ff"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a462f1554e058b656861abfb0aa2e47ff">SVF::MTAResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00039">MTAResultValidator.cpp:39</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="MTA_8h_html"><div class="ttname"><a href="MTA_8h.html">MTA.h</a></div></div>
86
- <div class="ttc" id="SVFIRBuilder_8h_html"><div class="ttname"><a href="SVFIRBuilder_8h.html">SVFIRBuilder.h</a></div></div>
77
+ <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>
87
78
  <div class="ttc" id="classSVF_1_1LockResultValidator_html_a88ff3ed1398a0b847d71a4c0352ed66d"><div class="ttname"><a href="classSVF_1_1LockResultValidator.html#a88ff3ed1398a0b847d71a4c0352ed66d">SVF::LockResultValidator::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8cpp_source.html#l00201">LockResultValidator.cpp:201</a></div></div>
88
- <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>
89
- <div class="ttc" id="classSVF_1_1MTA_html"><div class="ttname"><a href="classSVF_1_1MTA.html">SVF::MTA</a></div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00056">MTA.h:56</a></div></div>
90
- <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>
91
- <div class="ttc" id="LLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
92
- <div class="ttc" id="classSVF_1_1MTA_html_a76ea96c430365132011f1a4edf0d5570"><div class="ttname"><a href="classSVF_1_1MTA.html#a76ea96c430365132011f1a4edf0d5570">SVF::MTA::getLockAnalysis</a></div><div class="ttdeci">LockAnalysis * getLockAnalysis()</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00087">MTA.h:87</a></div></div>
93
79
  </div><!-- fragment --></div><!-- contents -->
94
80
  <!-- start footer part -->
95
81
  <hr class="footer"/><address class="footer"><small>