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
@@ -66,58 +66,38 @@ $(function() {
66
66
  <div class="title">MTAAnnotator.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="MTAAnnotator_8h.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"> * MTAAnnotator.h</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"> * Created on: May 4, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Author: Peng Di</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#ifndef MTAANNOTATOR_H_</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define MTAANNOTATOR_H_</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BasicTypes_8h.html">SVF-LLVM/BasicTypes.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="LLVMModule_8h.html">SVF-LLVM/LLVMModule.h</a>&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFValue_8h.html">SVFIR/SVFValue.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Annotator_8h.html">Util/Annotator.h</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MHP_8h.html">MTA/MHP.h</a>&quot;</span></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="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html"> 23</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MTAAnnotator.html">MTAAnnotator</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1Annotator.html">Annotator</a></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">public</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0"> 27</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Instruction*&gt;</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4"> 29</a></span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">MTAAnnotator</a>(): <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>(nullptr),<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>(nullptr)</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; <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a> = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d"> 43</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">~MTAAnnotator</a>()</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(<a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">initialize</a>(<a class="code" href="classSVF_1_1MHP.html">MHP</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>, <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">pruneThreadLocal</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>*pta);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">pruneAliasMHP</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">performAnnotate</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">collectLoadStoreInst</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* mod);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">getLoadOperand</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93"> 73</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">isMemset</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* I)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(I);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* F =<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(svfInst);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> F &amp;&amp; F-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>().find(<span class="stringliteral">&quot;llvm.memset&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898"> 81</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">isMemcpy</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* I)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(I);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* F = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(svfInst);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> F &amp;&amp; F-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>().find(<span class="stringliteral">&quot;llvm.memcpy&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825"> 89</a></span>&#160; <a class="code" href="classSVF_1_1MHP.html">MHP</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0"> 90</a></span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd"> 91</a></span>&#160; InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a"> 92</a></span>&#160; InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment">// RCMemoryPartitioning mp;</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b"> 99</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608"> 100</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb"> 101</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3"> 102</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d"> 103</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f"> 104</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2"> 105</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8"> 106</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee"> 107</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700"> 108</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b"> 112</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">ANNO_MHP</a>= 0x04;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1"> 113</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">ANNO_ALIAS</a>= 0x02;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960"> 114</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">ANNO_LOCAL</a>= 0x01;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;};</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* MTAANNOTATOR_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1MHP_html"><div class="ttname"><a href="classSVF_1_1MHP.html">SVF::MHP</a></div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00045">MHP.h:45</a></div></div>
70
- <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
71
- <div class="ttc" id="classSVF_1_1MTAAnnotator_html_ab84e4295f1137090bdf9e0608a4c2077"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">SVF::MTAAnnotator::collectLoadStoreInst</a></div><div class="ttdeci">void collectLoadStoreInst(SVFModule *mod)</div><div class="ttdoc">Collect all load and store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00037">MTAAnnotator.cpp:37</a></div></div>
72
- <div class="ttc" id="classSVF_1_1Annotator_html"><div class="ttname"><a href="classSVF_1_1Annotator.html">SVF::Annotator</a></div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00021">Annotator.h:21</a></div></div>
69
+ <a href="MTAAnnotator_8h.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"> * MTAAnnotator.h</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"> * Created on: May 4, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Author: Peng Di</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#ifndef MTAANNOTATOR_H_</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#define MTAANNOTATOR_H_</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;SVF-LLVM/BasicTypes.h&quot;</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="preprocessor">#include &quot;SVF-LLVM/LLVMModule.h&quot;</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="preprocessor">#include &quot;SVFIR/SVFValue.h&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="preprocessor">#include &quot;Util/Annotator.h&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;MTA/MHP.h&quot;</span></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="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;{</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html"> 23</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1MTAAnnotator.html">MTAAnnotator</a>: <span class="keyword">public</span> Annotator</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">public</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0"> 27</a></span>&#160; <span class="keyword">typedef</span> Set&lt;const Instruction*&gt; <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4"> 29</a></span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">MTAAnnotator</a>(): <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>(nullptr),<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>(nullptr)</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; <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a> = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d"> 43</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">~MTAAnnotator</a>()</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(Instruction* inst);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">initialize</a>(MHP* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>, LockAnalysis* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">pruneThreadLocal</a>(PointerAnalysis*pta);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">pruneAliasMHP</a>(PointerAnalysis* pta);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">performAnnotate</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">collectLoadStoreInst</a>(SVFModule* mod);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(<span class="keyword">const</span> Instruction* inst);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">getLoadOperand</a>(<span class="keyword">const</span> Instruction* inst);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93"> 73</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">isMemset</a>(<span class="keyword">const</span> Instruction* I)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">const</span> SVFInstruction* svfInst = LLVMModuleSet::getLLVMModuleSet()-&gt;getSVFInstruction(I);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keyword">const</span> SVFFunction* F =SVFUtil::getCallee(svfInst);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> F &amp;&amp; F-&gt;getName().find(<span class="stringliteral">&quot;llvm.memset&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898"> 81</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">isMemcpy</a>(<span class="keyword">const</span> Instruction* I)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">const</span> SVFInstruction* svfInst = LLVMModuleSet::getLLVMModuleSet()-&gt;getSVFInstruction(I);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">const</span> SVFFunction* F = SVFUtil::getCallee(svfInst);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> F &amp;&amp; F-&gt;getName().find(<span class="stringliteral">&quot;llvm.memcpy&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825"> 89</a></span>&#160; MHP* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0"> 90</a></span>&#160; LockAnalysis* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd"> 91</a></span>&#160; InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a"> 92</a></span>&#160; InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment">// RCMemoryPartitioning mp;</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b"> 99</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608"> 100</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb"> 101</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3"> 102</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d"> 103</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f"> 104</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2"> 105</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8"> 106</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee"> 107</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700"> 108</a></span>&#160; u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b"> 112</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">ANNO_MHP</a>= 0x04;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1"> 113</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">ANNO_ALIAS</a>= 0x02;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960"> 114</a></span>&#160; <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">ANNO_LOCAL</a>= 0x01;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;};</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* MTAANNOTATOR_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1MTAAnnotator_html_ab84e4295f1137090bdf9e0608a4c2077"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">SVF::MTAAnnotator::collectLoadStoreInst</a></div><div class="ttdeci">void collectLoadStoreInst(SVFModule *mod)</div><div class="ttdoc">Collect all load and store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00037">MTAAnnotator.cpp:37</a></div></div>
73
70
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a469851829bf1105fe8faac44b4abbfdd"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">SVF::MTAAnnotator::loadset</a></div><div class="ttdeci">InstSet loadset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00091">MTAAnnotator.h:91</a></div></div>
74
- <div class="ttc" id="MHP_8h_html"><div class="ttname"><a href="MHP_8h.html">MHP.h</a></div></div>
75
71
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a49434afd0d7beb9f5d6580e8f672889c"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">SVF::MTAAnnotator::getStoreOperand</a></div><div class="ttdeci">const Value * getStoreOperand(const Instruction *inst)</div><div class="ttdoc">Get operand of store and load. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00074">MTAAnnotator.cpp:74</a></div></div>
76
- <div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00210">SVFValue.h:210</a></div></div>
77
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
78
- <div class="ttc" id="LLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
79
- <div class="ttc" id="Annotator_8h_html"><div class="ttname"><a href="Annotator_8h.html">Annotator.h</a></div></div>
80
72
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a29e0123620ab072fddc45331c6aa46e8"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">SVF::MTAAnnotator::numOfMHPLd</a></div><div class="ttdeci">u32_t numOfMHPLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00106">MTAAnnotator.h:106</a></div></div>
81
73
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aee9e5ebac543d9a2aab511410b047898"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">SVF::MTAAnnotator::isMemcpy</a></div><div class="ttdeci">bool isMemcpy(const Instruction *I)</div><div class="ttdoc">Check if Function &quot;F&quot; is memcpy. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00081">MTAAnnotator.h:81</a></div></div>
82
- <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>
83
74
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aa1572c2a9f260ff66c9da661fd669a5f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">SVF::MTAAnnotator::numOfAliasLd</a></div><div class="ttdeci">u32_t numOfAliasLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00104">MTAAnnotator.h:104</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00049">SVFType.h:49</a></div></div>
85
75
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a3c07f9964623b3895b1bab59a63dccfb"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">SVF::MTAAnnotator::numOfNonLocalSt</a></div><div class="ttdeci">u32_t numOfNonLocalSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00101">MTAAnnotator.h:101</a></div></div>
86
76
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a5c1743a40d54fdbde2f9dadb612de608"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">SVF::MTAAnnotator::numOfAllLd</a></div><div class="ttdeci">u32_t numOfAllLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00100">MTAAnnotator.h:100</a></div></div>
87
77
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a4e25b3ef3e4e91f14c35841d0138d888"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">SVF::MTAAnnotator::performAnnotate</a></div><div class="ttdeci">void performAnnotate()</div><div class="ttdoc">Perform annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00281">MTAAnnotator.cpp:281</a></div></div>
88
78
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a5513a9f2a5b89ab5f90549552fb2b20f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">SVF::MTAAnnotator::annotateDRCheck</a></div><div class="ttdeci">void annotateDRCheck(Instruction *inst)</div><div class="ttdoc">Annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00018">MTAAnnotator.cpp:18</a></div></div>
89
79
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a0ed08b6a94483a750c95eef6c2523dc6"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">SVF::MTAAnnotator::pruneAliasMHP</a></div><div class="ttdeci">void pruneAliasMHP(PointerAnalysis *pta)</div><div class="ttdoc">Prune candidate instructions that non-mhp and non-alias with others. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00202">MTAAnnotator.cpp:202</a></div></div>
90
80
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a27f54c50256fc4a2f96fa2305ad04eb1"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">SVF::MTAAnnotator::ANNO_ALIAS</a></div><div class="ttdeci">static const u32_t ANNO_ALIAS</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00113">MTAAnnotator.h:113</a></div></div>
91
- <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00094">SVFType.h:94</a></div></div>
92
81
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html">SVF::MTAAnnotator</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00023">MTAAnnotator.h:23</a></div></div>
93
82
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a71178ddc585c9ca7c9e5c3b52378cd7d"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">SVF::MTAAnnotator::numOfAliasSt</a></div><div class="ttdeci">u32_t numOfAliasSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00103">MTAAnnotator.h:103</a></div></div>
94
- <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00063">BasicTypes.h:63</a></div></div>
95
83
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a94d7a3fd9166126c052fca28f9a4c825"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">SVF::MTAAnnotator::mhp</a></div><div class="ttdeci">MHP * mhp</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00089">MTAAnnotator.h:89</a></div></div>
96
84
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a399e53d065bc34af428a1ba89a04972b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">SVF::MTAAnnotator::getLoadOperand</a></div><div class="ttdeci">const Value * getLoadOperand(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00092">MTAAnnotator.cpp:92</a></div></div>
97
85
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a42a5c0eac879be5e300583aa7d07beb0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">SVF::MTAAnnotator::lsa</a></div><div class="ttdeci">LockAnalysis * lsa</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00090">MTAAnnotator.h:90</a></div></div>
98
- <div class="ttc" id="classSVF_1_1LockAnalysis_html"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html">SVF::LockAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00044">LockAnalysis.h:44</a></div></div>
99
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00228">SVFUtil.h:228</a></div></div>
100
86
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_afbb8c25a126362ab0a4101866b4fc0ee"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">SVF::MTAAnnotator::numOfAnnotatedSt</a></div><div class="ttdeci">u32_t numOfAnnotatedSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00107">MTAAnnotator.h:107</a></div></div>
101
87
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a95f4607624dac40e9d62f37e6b16fcf0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">SVF::MTAAnnotator::InstSet</a></div><div class="ttdeci">Set&lt; const Instruction * &gt; InstSet</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00027">MTAAnnotator.h:27</a></div></div>
102
- <div class="ttc" id="BasicTypes_8h_html"><div class="ttname"><a href="BasicTypes_8h.html">BasicTypes.h</a></div></div>
103
- <div class="ttc" id="SVFValue_8h_html"><div class="ttname"><a href="SVFValue_8h.html">SVFValue.h</a></div></div>
104
88
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a3a53e90b4f361d1298983bc89795b3d2"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">SVF::MTAAnnotator::numOfMHPSt</a></div><div class="ttdeci">u32_t numOfMHPSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00105">MTAAnnotator.h:105</a></div></div>
105
89
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37df9f2416685c535be2faa01e162f3a"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">SVF::MTAAnnotator::storeset</a></div><div class="ttdeci">InstSet storeset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00092">MTAAnnotator.h:92</a></div></div>
106
90
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aa0149b932b4148b14b36e2c5cf9b614b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">SVF::MTAAnnotator::numOfAllSt</a></div><div class="ttdeci">u32_t numOfAllSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00099">MTAAnnotator.h:99</a></div></div>
107
- <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00096">LLVMModule.h:96</a></div></div>
108
- <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>
91
+ <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>
109
92
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a4e10dbbb742125ebcbdc079ad647b87b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">SVF::MTAAnnotator::ANNO_MHP</a></div><div class="ttdeci">static const u32_t ANNO_MHP</div><div class="ttdoc">Constant INTERLEV_FLAG values. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00112">MTAAnnotator.h:112</a></div></div>
110
93
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aded5add82485d493d57e293fd59bf960"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">SVF::MTAAnnotator::ANNO_LOCAL</a></div><div class="ttdeci">static const u32_t ANNO_LOCAL</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00114">MTAAnnotator.h:114</a></div></div>
111
94
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_ad53ac0cec797f84d3bc14bdb6bab1ab3"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">SVF::MTAAnnotator::numOfNonLocalLd</a></div><div class="ttdeci">u32_t numOfNonLocalLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00102">MTAAnnotator.h:102</a></div></div>
112
95
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a57df091dbdd4fc947cc5e7aaec123700"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">SVF::MTAAnnotator::numOfAnnotatedLd</a></div><div class="ttdeci">u32_t numOfAnnotatedLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00108">MTAAnnotator.h:108</a></div></div>
113
96
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a1dc12d846adf07265a9b6a5c2694c84d"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">SVF::MTAAnnotator::~MTAAnnotator</a></div><div class="ttdeci">virtual ~MTAAnnotator()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00043">MTAAnnotator.h:43</a></div></div>
114
97
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_af469d79fcc3bebd9360f72696a242d4e"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">SVF::MTAAnnotator::pruneThreadLocal</a></div><div class="ttdeci">void pruneThreadLocal(PointerAnalysis *pta)</div><div class="ttdoc">Prune candidate instructions that are thread local. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00116">MTAAnnotator.cpp:116</a></div></div>
115
- <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00058">BasicTypes.h:58</a></div></div>
116
98
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a36eb47b716c3b44ba5c459052bb0ed93"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">SVF::MTAAnnotator::isMemset</a></div><div class="ttdeci">bool isMemset(const Instruction *I)</div><div class="ttdoc">Check if Function &quot;F&quot; is memset. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00073">MTAAnnotator.h:73</a></div></div>
117
99
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a108616cc98f15af3010ca45b91f32c04"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">SVF::MTAAnnotator::initialize</a></div><div class="ttdeci">void initialize(MHP *mhp, LockAnalysis *lsa)</div><div class="ttdoc">Initialize. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00107">MTAAnnotator.cpp:107</a></div></div>
118
100
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37ae5e04b0f5560d0f6c2f143b325cd4"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">SVF::MTAAnnotator::MTAAnnotator</a></div><div class="ttdeci">MTAAnnotator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00029">MTAAnnotator.h:29</a></div></div>
119
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00058">PointerAnalysis.h:58</a></div></div>
120
- <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00209">LLVMModule.h:209</a></div></div>
121
101
  </div><!-- fragment --></div><!-- contents -->
122
102
  <!-- start footer part -->
123
103
  <hr class="footer"/><address class="footer"><small>
@@ -69,10 +69,10 @@ $(function() {
69
69
  <div class="title">MTAResultValidator.cpp File Reference</div> </div>
70
70
  </div><!--header-->
71
71
  <div class="contents">
72
- <div class="textblock"><code>#include &quot;<a class="el" href="Options_8h_source.html">Util/Options.h</a>&quot;</code><br />
72
+ <div class="textblock"><code>#include &quot;Util/Options.h&quot;</code><br />
73
73
  <code>#include &lt;string&gt;</code><br />
74
74
  <code>#include &lt;sstream&gt;</code><br />
75
- <code>#include &quot;<a class="el" href="tools_2MTA_2MTAResultValidator_8h_source.html">MTAResultValidator.h</a>&quot;</code><br />
75
+ <code>#include &quot;<a class="el" href="MTAResultValidator_8h_source.html">MTAResultValidator.h</a>&quot;</code><br />
76
76
  </div>
77
77
  <p><a href="MTAResultValidator_8cpp_source.html">Go to the source code of this file.</a></p>
78
78
  <table class="memberdecls">
@@ -84,7 +84,6 @@ Classes</h2></td></tr>
84
84
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
85
85
  Namespaces</h2></td></tr>
86
86
  <tr class="memitem:namespaceSVF"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html">SVF</a></td></tr>
87
- <tr class="memdesc:namespaceSVF"><td class="mdescLeft">&#160;</td><td class="mdescRight">for isBitcode <br /></td></tr>
88
87
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
89
88
  </table>
90
89
  </div><!-- contents -->