svf-tools 1.0.427 → 1.0.430

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 (305) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +10 -10
  7. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  8. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  9. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  10. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +11 -11
  12. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
  13. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  14. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +15 -15
  18. package/SVF-doxygen/html/html/DCHG_8h_source.html +7 -7
  19. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
  22. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  23. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  24. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  27. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +1 -1
  30. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  34. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +10 -10
  35. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  37. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  38. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/IRGraph_8h_source.html +18 -18
  41. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
  43. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +18 -18
  44. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  45. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +58 -56
  46. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +9 -9
  51. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
  53. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  55. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  56. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  57. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  59. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  60. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +9 -9
  61. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
  62. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +4 -4
  63. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  64. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  65. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  66. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +13 -12
  68. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  69. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  70. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  71. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  72. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/PCG_8cpp_source.html +5 -5
  74. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  75. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +5 -5
  76. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  77. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
  78. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +33 -27
  79. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +32 -28
  80. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  81. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  82. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  83. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
  84. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +5 -4
  85. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  86. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +117 -27
  87. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +32 -27
  88. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
  90. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  92. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
  94. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  95. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +70 -70
  96. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -34
  97. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/SVFIR_8h_source.html +10 -10
  99. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
  103. package/SVF-doxygen/html/html/SVFUtil_8h.html +0 -3
  104. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -13
  105. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +7 -7
  106. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +9 -7
  107. package/SVF-doxygen/html/html/SaberAnnotator_8h.html +1 -1
  108. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +6 -7
  109. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  110. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  111. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  112. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +62 -61
  113. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +2 -2
  114. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +77 -76
  115. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +1 -0
  116. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +135 -134
  117. package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
  118. package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
  119. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  120. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  121. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
  122. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  123. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
  124. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
  125. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  126. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -11
  127. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +75 -80
  128. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  129. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  130. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  131. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  132. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  133. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  134. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +8 -8
  136. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  138. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
  139. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +15 -15
  142. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  143. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  144. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  146. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +7 -7
  147. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +47 -47
  148. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  149. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +5 -3
  150. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +3 -3
  153. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
  155. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +11 -11
  156. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +2 -2
  157. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
  158. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  160. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +14 -14
  162. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +16 -16
  164. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  167. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
  169. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +2 -2
  170. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +21 -21
  171. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  172. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +18 -18
  173. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -19
  174. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -4
  175. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
  176. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +15 -15
  177. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
  178. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +5 -4
  179. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +115 -88
  180. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +13 -13
  181. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  183. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +94 -94
  184. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +10 -10
  187. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  192. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +26 -25
  193. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +153 -114
  194. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  195. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  196. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +31 -30
  197. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +11 -8
  198. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  199. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  200. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +29 -29
  201. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
  202. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  203. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +17 -17
  205. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +89 -89
  206. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +2 -2
  208. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator-members.html +3 -3
  209. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +28 -24
  210. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  211. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +36 -36
  213. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +86 -86
  214. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +41 -42
  215. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +189 -220
  216. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
  217. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  218. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +7 -7
  219. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +16 -16
  222. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
  223. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  225. package/SVF-doxygen/html/html/functions_a.html +3 -3
  226. package/SVF-doxygen/html/html/functions_e.html +2 -2
  227. package/SVF-doxygen/html/html/functions_func.html +3 -3
  228. package/SVF-doxygen/html/html/functions_func_e.html +2 -2
  229. package/SVF-doxygen/html/html/functions_func_g.html +8 -7
  230. package/SVF-doxygen/html/html/functions_func_i.html +5 -8
  231. package/SVF-doxygen/html/html/functions_func_s.html +9 -8
  232. package/SVF-doxygen/html/html/functions_g.html +15 -14
  233. package/SVF-doxygen/html/html/functions_i.html +11 -14
  234. package/SVF-doxygen/html/html/functions_l.html +3 -3
  235. package/SVF-doxygen/html/html/functions_o.html +15 -15
  236. package/SVF-doxygen/html/html/functions_p.html +7 -7
  237. package/SVF-doxygen/html/html/functions_r.html +8 -8
  238. package/SVF-doxygen/html/html/functions_s.html +11 -10
  239. package/SVF-doxygen/html/html/functions_t.html +10 -8
  240. package/SVF-doxygen/html/html/functions_v.html +3 -3
  241. package/SVF-doxygen/html/html/globals.html +3 -0
  242. package/SVF-doxygen/html/html/globals_b.html +3 -0
  243. package/SVF-doxygen/html/html/globals_r.html +3 -0
  244. package/SVF-doxygen/html/html/globals_s.html +9 -6
  245. package/SVF-doxygen/html/html/globals_type.html +15 -0
  246. package/SVF-doxygen/html/html/globals_u.html +5 -2
  247. package/SVF-doxygen/html/html/namespaceSVF.html +40 -130
  248. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +253 -220
  249. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +20 -20
  250. package/SVF-doxygen/html/html/namespacemembers.html +0 -3
  251. package/SVF-doxygen/html/html/namespacemembers_b.html +1 -4
  252. package/SVF-doxygen/html/html/namespacemembers_func.html +8 -5
  253. package/SVF-doxygen/html/html/namespacemembers_i.html +11 -8
  254. package/SVF-doxygen/html/html/namespacemembers_r.html +1 -4
  255. package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
  256. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -15
  257. package/SVF-doxygen/html/html/namespacemembers_u.html +0 -3
  258. package/SVF-doxygen/html/html/search/all_1.js +4 -4
  259. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  260. package/SVF-doxygen/html/html/search/all_12.js +4 -4
  261. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  262. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  263. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  264. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  265. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  266. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  267. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  268. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  269. package/SVF-doxygen/html/html/search/all_c.js +1 -1
  270. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  271. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  272. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  273. package/SVF-doxygen/html/html/search/functions_0.js +3 -3
  274. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  275. package/SVF-doxygen/html/html/search/functions_4.js +2 -2
  276. package/SVF-doxygen/html/html/search/functions_6.js +1 -1
  277. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  278. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  279. package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
  280. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
  281. package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
  282. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  283. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  284. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  285. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  286. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  287. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  288. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  289. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  290. package/include/DDA/DDAVFSolver.h +3 -3
  291. package/include/MemoryModel/SymbolTableInfo.h +6 -4
  292. package/include/SABER/PathCondAllocator.h +8 -2
  293. package/include/SABER/SaberAnnotator.h +4 -4
  294. package/include/SVF-FE/BasicTypes.h +5 -0
  295. package/include/SVF-FE/LLVMUtil.h +13 -0
  296. package/include/Util/BasicTypes.h +0 -5
  297. package/include/Util/SVFUtil.h +0 -5
  298. package/lib/MSSA/MemRegion.cpp +4 -4
  299. package/lib/MemoryModel/PointerAnalysis.cpp +4 -4
  300. package/lib/MemoryModel/SymbolTableInfo.cpp +6 -8
  301. package/lib/SABER/PathCondAllocator.cpp +31 -26
  302. package/lib/SABER/ProgSlice.cpp +7 -4
  303. package/lib/SABER/SaberAnnotator.cpp +8 -8
  304. package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
  305. package/package.json +1 -1
@@ -72,7 +72,7 @@ $(function() {
72
72
  <div class="ttc" id="classSVF_1_1MTAStat_html_a12f6bd291b206c18001f5d4775251481"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a12f6bd291b206c18001f5d4775251481">SVF::MTAStat::performTCTStat</a></div><div class="ttdeci">void performTCTStat(TCT *tct)</div><div class="ttdoc">Statistics for thread creation tree. </div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8cpp_source.html#l00071">MTAStat.cpp:71</a></div></div>
73
73
  <div class="ttc" id="MHP_8h_html"><div class="ttname"><a href="MHP_8h.html">MHP.h</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
75
- <div class="ttc" id="namespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00162">BasicTypes.h:162</a></div></div>
75
+ <div class="ttc" id="namespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a8721610a39212613ad55bbd46a35c576"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a8721610a39212613ad55bbd46a35c576">SVF::ThreadCallGraph::getForkEdgeBegin</a></div><div class="ttdeci">ForkEdgeSet::const_iterator getForkEdgeBegin(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00206">ThreadCallGraph.h:206</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1MHP_html_ab7d9fe837844197b7acdc0493a50aaa5"><div class="ttname"><a href="classSVF_1_1MHP.html#ab7d9fe837844197b7acdc0493a50aaa5">SVF::MHP::interleavingQueriesTime</a></div><div class="ttdeci">double interleavingQueriesTime</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00261">MHP.h:261</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1MTAStat_html_a21f01e6b0362de2c2ad12d5689c26940"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a21f01e6b0362de2c2ad12d5689c26940">SVF::MTAStat::performAnnotationStat</a></div><div class="ttdeci">void performAnnotationStat(MTAAnnotator *anno)</div><div class="ttdoc">Statistics for annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8cpp_source.html#l00155">MTAStat.cpp:155</a></div></div>
@@ -82,7 +82,7 @@ $(function() {
82
82
  <div class="ttc" id="classSVF_1_1TCT_html_a54cceb577b4fb89c1d84011ec4d2fe2c"><div class="ttname"><a href="classSVF_1_1TCT.html#a54cceb577b4fb89c1d84011ec4d2fe2c">SVF::TCT::getMakredProcs</a></div><div class="ttdeci">const FunSet &amp; getMakredProcs() const</div><div class="ttdoc">Get marked candidate functions. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00204">TCT.h:204</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a1ebbd26c17cff1c1a1bee9caa9a8f825"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a1ebbd26c17cff1c1a1bee9caa9a8f825">SVF::ThreadCallGraph::forksitesEnd</a></div><div class="ttdeci">CallSiteSet::const_iterator forksitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00275">ThreadCallGraph.h:275</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a811d7d13c05c71bd816621a9a8765365"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a811d7d13c05c71bd816621a9a8765365">SVF::ThreadCallGraph::getJoinEdgeEnd</a></div><div class="ttdeci">JoinEdgeSet::const_iterator getJoinEdgeEnd(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00232">ThreadCallGraph.h:232</a></div></div>
85
- <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="Util_2BasicTypes_8h_source.html#l00184">BasicTypes.h:184</a></div></div>
85
+ <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="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a8351e7ab445cb7faf0209d1fbc63fce1"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a8351e7ab445cb7faf0209d1fbc63fce1">SVF::ThreadCallGraph::getForkEdgeEnd</a></div><div class="ttdeci">ForkEdgeSet::const_iterator getForkEdgeEnd(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00212">ThreadCallGraph.h:212</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1TCT_html_af03bfeae7e09a9f62d96ba59632e588f"><div class="ttname"><a href="classSVF_1_1TCT.html#af03bfeae7e09a9f62d96ba59632e588f">SVF::TCT::getTCTNodeNum</a></div><div class="ttdeci">u32_t getTCTNodeNum() const</div><div class="ttdoc">Get Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00217">TCT.h:217</a></div></div>
88
88
  <div class="ttc" id="classSVF_1_1MHP_html_a1cfec64cc65abcbc5ba32695850bfb48"><div class="ttname"><a href="classSVF_1_1MHP.html#a1cfec64cc65abcbc5ba32695850bfb48">SVF::MHP::isConnectedfromMain</a></div><div class="ttdeci">bool isConnectedfromMain(const Function *fun)</div><div class="ttdoc">Whether the function is connected from main function in thread call graph. </div><div class="ttdef"><b>Definition:</b> <a href="MHP_8cpp_source.html#l00509">MHP.cpp:509</a></div></div>
@@ -128,7 +128,7 @@ $(function() {
128
128
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
129
129
  <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#l00101">MTAAnnotator.h:101</a></div></div>
130
130
  <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#l00095">MTAAnnotator.h:95</a></div></div>
131
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00200">BasicTypes.h:200</a></div></div>
131
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00195">BasicTypes.h:195</a></div></div>
132
132
  <div class="ttc" id="classSVF_1_1MTAStat_html_a6464eb27715b598bab0217258860a04b"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a6464eb27715b598bab0217258860a04b">SVF::MTAStat::performMHPPairStat</a></div><div class="ttdeci">void performMHPPairStat(MHP *mhp, LockAnalysis *lsa)</div><div class="ttdoc">Statistics for MHP statement pairs. </div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8cpp_source.html#l00091">MTAStat.cpp:91</a></div></div>
133
133
  <div class="ttc" id="classSVF_1_1TCT_html_a1602d02773578bca73dcbd29b95c67d0"><div class="ttname"><a href="classSVF_1_1TCT.html#a1602d02773578bca73dcbd29b95c67d0">SVF::TCT::getThreadCallGraph</a></div><div class="ttdeci">ThreadCallGraph * getThreadCallGraph() const</div><div class="ttdoc">Get TCG. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00164">TCT.h:164</a></div></div>
134
134
  <div class="ttc" id="TCT_8h_html"><div class="ttname"><a href="TCT_8h.html">TCT.h</a></div></div>
@@ -147,7 +147,7 @@ $(function() {
147
147
  <div class="ttc" id="MTAAnnotator_8h_html"><div class="ttname"><a href="MTAAnnotator_8h.html">MTAAnnotator.h</a></div></div>
148
148
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00148">PTAStat.h:148</a></div></div>
149
149
  <div class="ttc" id="ThreadCallGraph_8h_html"><div class="ttname"><a href="ThreadCallGraph_8h.html">ThreadCallGraph.h</a></div></div>
150
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00065">LLVMUtil.h:65</a></div></div>
150
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00072">LLVMUtil.h:72</a></div></div>
151
151
  <div class="ttc" id="FSMPTA_8h_html"><div class="ttname"><a href="FSMPTA_8h.html">FSMPTA.h</a></div></div>
152
152
  <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00290">PTAStat.cpp:290</a></div></div>
153
153
  <div class="ttc" id="classSVF_1_1TCT_html_a49f0672760c29b9be7b6f99a4c82ab7e"><div class="ttname"><a href="classSVF_1_1TCT.html#a49f0672760c29b9be7b6f99a4c82ab7e">SVF::TCT::getMaxCxtSize</a></div><div class="ttdeci">u32_t getMaxCxtSize() const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00225">TCT.h:225</a></div></div>
@@ -69,7 +69,7 @@ $(function() {
69
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="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * MTA.cpp</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 14, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> * Author: Yulei Sui, 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">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MTA_8h.html">MTA/MTA.h</a>&quot;</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MHP_8h.html">MTA/MHP.h</a>&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="TCT_8h.html">MTA/TCT.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="LockAnalysis_8h.html">MTA/LockAnalysis.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="MTAStat_8h.html">MTA/MTAStat.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="Andersen_8h.html">WPA/Andersen.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="FSMPTA_8h.html">MTA/FSMPTA.h</a>&quot;</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFIRBuilder_8h.html">SVF-FE/SVFIRBuilder.h</a>&quot;</span></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;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">static</span> llvm::RegisterPass&lt;MTA&gt; <a class="code" href="MTA_8cpp.html#a722a3314000546677382be2b285e04d8">RACEDETECOR</a>(<span class="stringliteral">&quot;mta&quot;</span>, <span class="stringliteral">&quot;May-Happen-in-Parallel Analysis&quot;</span>);</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</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;<span class="keywordtype">char</span> <a class="code" href="classSVF_1_1MTA.html#a5ce0b3247bd412e5267a42be0646471b">MTA::ID</a> = 0;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<a class="code" href="namespaceSVF.html#ac226d84f86637126d17f6814632c8a90">ModulePass</a>* <a class="code" href="classSVF_1_1MTA.html#a3dd09dcdcf58ae8ee1745634cefbb8aa">MTA::modulePass</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<a class="code" href="classSVF_1_1MTA.html#a2c92809f1395aa064c80aef0c3e4c944">MTA::FunToSEMap</a> <a class="code" href="classSVF_1_1MTA.html#a7a879943a817d0283971b5588cfa83d5">MTA::func2ScevMap</a>;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<a class="code" href="classSVF_1_1MTA.html#a2473be56f2861ad101f65a65e02dff8d">MTA::FunToLoopInfoMap</a> <a class="code" href="classSVF_1_1MTA.html#a427ebcf1f00b601087e5b098c18cc29a">MTA::func2LoopInfoMap</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"><a class="line" href="classSVF_1_1MTA.html#ab25d605ed6040a9ad6ed6fcec4e8d338"> 30</a></span>&#160;<a class="code" href="classSVF_1_1MTA.html#ab25d605ed6040a9ad6ed6fcec4e8d338">MTA::MTA</a>() :</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="namespaceSVF.html#ac226d84f86637126d17f6814632c8a90">ModulePass</a>(ID), tcg(nullptr), tct(nullptr)</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_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MTAStat.html">MTAStat</a>();</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;}</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"><a class="line" href="classSVF_1_1MTA.html#a77b2f1d3de217219ea9346b5bbce4b5f"> 36</a></span>&#160;<a class="code" href="classSVF_1_1MTA.html#a77b2f1d3de217219ea9346b5bbce4b5f">MTA::~MTA</a>()</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">tcg</a>)</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">tcg</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">//if (tct)</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// delete tct;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;}</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae"> 44</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae">MTA::runOnModule</a>(<a class="code" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a>&amp; module)</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; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a> mm(module.getName().str());</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae">runOnModule</a>(&amp;mm);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1MTA.html#a32f6beffb47e5c2ac86f5c3b8a1bd9ba"> 53</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTA.html#a9c4b9eb2c04de305a30114019c3b1dae">MTA::runOnModule</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a3dd09dcdcf58ae8ee1745634cefbb8aa">modulePass</a> = <span class="keyword">this</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1MHP.html">MHP</a>* mhp = <a class="code" href="classSVF_1_1MTA.html#a4f2f17975aabd2c4b9a3b2fbf3b1a487">computeMHP</a>(module);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* lsa = <a class="code" href="classSVF_1_1MTA.html#a0f4805f195ebd42d81127b1a79333c75">computeLocksets</a>(mhp-&gt;<a class="code" href="classSVF_1_1MHP.html#a033936547612c54326a604f0ff1e39a6">getTCT</a>());</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">/*</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="comment"> if (Options::AndersenAnno) {</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment"> pta = mhp-&gt;getTCT()-&gt;getPTA();</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="comment"> if (pta-&gt;printStat())</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="comment"> stat-&gt;performMHPPairStat(mhp,lsa);</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="comment"> AndersenWaveDiff::releaseAndersenWaveDiff();</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="comment"> } else if (Options::FSAnno) {</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="comment"> reportMemoryUsageKB(&quot;Mem before analysis&quot;);</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="comment"> DBOUT(DGENERAL, outs() &lt;&lt; pasMsg(&quot;FSMPTA analysis\n&quot;));</span></div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"> DBOUT(DMTA, outs() &lt;&lt; pasMsg(&quot;FSMPTA analysis\n&quot;));</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="comment"> DOTIMESTAT(double ptStart = stat-&gt;getClk());</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"> pta = FSMPTA::createFSMPTA(module, mhp,lsa);</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment"> DOTIMESTAT(double ptEnd = stat-&gt;getClk());</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="comment"> DOTIMESTAT(stat-&gt;FSMPTATime += (ptEnd - ptStart) / TIMEINTERVAL);</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"> reportMemoryUsageKB(&quot;Mem after analysis&quot;);</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<span class="comment"> if (pta-&gt;printStat())</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="comment"> stat-&gt;performMHPPairStat(mhp,lsa);</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment"> FSMPTA::releaseFSMPTA();</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment"> }</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="comment"> if (DoInstrumentation) {</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="comment"> DBOUT(DGENERAL, outs() &lt;&lt; pasMsg(&quot;ThreadSanitizer Instrumentation\n&quot;));</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment"> DBOUT(DMTA, outs() &lt;&lt; pasMsg(&quot;ThreadSanitizer Instrumentation\n&quot;));</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="comment"> TSan tsan;</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="comment"> tsan.doInitialization(*pta-&gt;getModule());</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="comment"> for (Module::iterator it = pta-&gt;getModule()-&gt;begin(), eit = pta-&gt;getModule()-&gt;end(); it != eit; ++it) {</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="comment"> tsan.runOnFunction(*it);</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<span class="comment"> }</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="comment"> if (pta-&gt;printStat())</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="comment"> PrintStatistics();</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="comment"> }</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keyword">delete</span> mhp;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">delete</span> lsa;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;}</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1MTA.html#a0f4805f195ebd42d81127b1a79333c75"> 111</a></span>&#160;<a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* <a class="code" href="classSVF_1_1MTA.html#a0f4805f195ebd42d81127b1a79333c75">MTA::computeLocksets</a>(<a class="code" href="classSVF_1_1TCT.html">TCT</a>* <a class="code" href="classSVF_1_1MTA.html#a9c9a42fb8a8ada910cdb9a8fb55d7c36">tct</a>)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* lsa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>(tct);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; lsa-&gt;<a class="code" href="classSVF_1_1LockAnalysis.html#ad1516b6cb1dbd06b8dff04ae3c944621">analyze</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> lsa;</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"><a class="line" href="classSVF_1_1MTA.html#a4f2f17975aabd2c4b9a3b2fbf3b1a487"> 118</a></span>&#160;<a class="code" href="classSVF_1_1MHP.html">MHP</a>* <a class="code" href="classSVF_1_1MTA.html#a4f2f17975aabd2c4b9a3b2fbf3b1a487">MTA::computeMHP</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module)</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;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MTA analysis\n&quot;</span>));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MTA analysis\n&quot;</span>));</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(module);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(pag);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">dump</a>(<span class="stringliteral">&quot;ptacg&quot;</span>);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build TCT\n&quot;</span>));</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build TCT\n&quot;</span>));</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> tctStart = <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>());</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a9c9a42fb8a8ada910cdb9a8fb55d7c36">tct</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1TCT.html">TCT</a>(pta);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">tcg</a> = tct-&gt;getThreadCallGraph();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> tctEnd = <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>());</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1MTAStat.html#a3298dd910e731fdabc87bbcf65371a4a">TCTTime</a> += (tctEnd - tctStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1MTAStat.html#a19c9c1cba3a2cf665f7a05570e316e2e">performThreadCallGraphStat</a>(<a class="code" href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">tcg</a>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1MTAStat.html#a12f6bd291b206c18001f5d4775251481">performTCTStat</a>(tct);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">tcg</a>-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a841be22581a7896d8924564e7199f62b">dump</a>(<span class="stringliteral">&quot;tcg&quot;</span>);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MHP analysis\n&quot;</span>));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MHP analysis\n&quot;</span>));</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> mhpStart = <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>());</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1MHP.html">MHP</a>* mhp = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MHP.html">MHP</a>(tct);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; mhp-&gt;analyze();</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> mhpEnd = <a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>());</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1MTA.html#a8c0f7a777b7fd6b388678be63190ee59">stat</a>-&gt;<a class="code" href="classSVF_1_1MTAStat.html#a56411f7e64febab8aab94a4a9207e5d8">MHPTime</a> += (mhpEnd - mhpStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MHP analysis finish\n&quot;</span>));</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;MHP analysis finish\n&quot;</span>));</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> mhp;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment">// * Check (1) write-write race</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="comment">// * (2) write-read race</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="comment">// * (3) read-read race</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="comment">// * when two memory access may-happen in parallel and are not protected by the same lock</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="comment">// * (excluding global constraints because they are initialized before running the main function)</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;<span class="comment">// */</span></div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1MTA.html#af9558955c068ce922872c259dde1786e"> 165</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTA.html#af9558955c068ce922872c259dde1786e">MTA::detect</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module)</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;{</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Starting Race Detection\n&quot;</span>));</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a80356495b6c45bac59dc15fd7a99730b">LoadSet</a> loads;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <a class="code" href="classSVF_1_1MTA.html#a891e56104b9c2daa8b052e3821e85b9b">StoreSet</a> stores;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const Instruction*&gt;</a> needcheckinst;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="comment">// Add symbols for all of the functions and the instructions in them.</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVFModule::iterator</a> F = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); F != E; ++F)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="comment">// collect and create symbols inside the function body</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">inst_iterator</a> II = inst_begin((*F)-&gt;getLLVMFun()), E = inst_end((*F)-&gt;getLLVMFun()); II != E; ++II)</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = &amp;*II;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>* load = SVFUtil::dyn_cast&lt;LoadInst&gt;(inst))</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; loads.insert(load);</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">StoreInst</a>* store = SVFUtil::dyn_cast&lt;StoreInst&gt;(inst))</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; stores.insert(store);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">for</span> (LoadSet::const_iterator lit = loads.begin(), elit = loads.end(); lit != elit; ++lit)</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>* load = *lit;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordtype">bool</span> loadneedcheck = <span class="keyword">false</span>;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">for</span> (StoreSet::const_iterator sit = stores.begin(), esit = stores.end(); sit != esit; ++sit)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">StoreInst</a>* store = *sit;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; loadneedcheck = <span class="keyword">true</span>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; needcheckinst.insert(store);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">if</span> (loadneedcheck)</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; needcheckinst.insert(load);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;HP needcheck: &quot;</span> &lt;&lt; needcheckinst.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;}</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</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#l00023">MHP.h:23</a></div></div>
70
70
  <div class="ttc" id="Andersen_8h_html"><div class="ttname"><a href="Andersen_8h.html">Andersen.h</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1MTA_html_a80356495b6c45bac59dc15fd7a99730b"><div class="ttname"><a href="classSVF_1_1MTA.html#a80356495b6c45bac59dc15fd7a99730b">SVF::MTA::LoadSet</a></div><div class="ttdeci">Set&lt; const LoadInst * &gt; LoadSet</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00034">MTA.h:34</a></div></div>
72
- <div class="ttc" id="namespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
72
+ <div class="ttc" id="namespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00127">BasicTypes.h:127</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1MTAStat_html"><div class="ttname"><a href="classSVF_1_1MTAStat.html">SVF::MTAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8h_source.html#l00024">MTAStat.h:24</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1MTAStat_html_a12f6bd291b206c18001f5d4775251481"><div class="ttname"><a href="classSVF_1_1MTAStat.html#a12f6bd291b206c18001f5d4775251481">SVF::MTAStat::performTCTStat</a></div><div class="ttdeci">void performTCTStat(TCT *tct)</div><div class="ttdoc">Statistics for thread creation tree. </div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8cpp_source.html#l00071">MTAStat.cpp:71</a></div></div>
75
75
  <div class="ttc" id="classSVF_1_1MTA_html_a9c9a42fb8a8ada910cdb9a8fb55d7c36"><div class="ttname"><a href="classSVF_1_1MTA.html#a9c9a42fb8a8ada910cdb9a8fb55d7c36">SVF::MTA::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00084">MTA.h:84</a></div></div>
@@ -112,7 +112,7 @@ $(function() {
112
112
  <div class="ttc" id="TCT_8h_html"><div class="ttname"><a href="TCT_8h.html">TCT.h</a></div></div>
113
113
  <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="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
114
114
  <div class="ttc" id="classSVF_1_1TCT_html"><div class="ttname"><a href="classSVF_1_1TCT.html">SVF::TCT</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00116">TCT.h:116</a></div></div>
115
- <div class="ttc" id="namespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00129">BasicTypes.h:129</a></div></div>
115
+ <div class="ttc" id="namespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
116
116
  <div class="ttc" id="MTA_8h_html"><div class="ttname"><a href="MTA_8h.html">MTA.h</a></div></div>
117
117
  <div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00155">SVFModule.h:155</a></div></div>
118
118
  <div class="ttc" id="classSVF_1_1MTA_html_a308ca0fa99b3c95f3e62b27522b6aeaa"><div class="ttname"><a href="classSVF_1_1MTA.html#a308ca0fa99b3c95f3e62b27522b6aeaa">SVF::MTA::tcg</a></div><div class="ttdeci">ThreadCallGraph * tcg</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00083">MTA.h:83</a></div></div>
@@ -123,7 +123,7 @@ $(function() {
123
123
  <div class="ttc" id="classSVF_1_1MTA_html_af9558955c068ce922872c259dde1786e"><div class="ttname"><a href="classSVF_1_1MTA.html#af9558955c068ce922872c259dde1786e">SVF::MTA::detect</a></div><div class="ttdeci">virtual void detect(SVFModule *module)</div><div class="ttdoc">Perform detection. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8cpp_source.html#l00165">MTA.cpp:165</a></div></div>
124
124
  <div class="ttc" id="MTAStat_8h_html"><div class="ttname"><a href="MTAStat_8h.html">MTAStat.h</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1MTA_html_a2c92809f1395aa064c80aef0c3e4c944"><div class="ttname"><a href="classSVF_1_1MTA.html#a2c92809f1395aa064c80aef0c3e4c944">SVF::MTA::FunToSEMap</a></div><div class="ttdeci">Map&lt; const Function *, ScalarEvolution * &gt; FunToSEMap</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00036">MTA.h:36</a></div></div>
126
- <div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00156">BasicTypes.h:156</a></div></div>
126
+ <div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00151">BasicTypes.h:151</a></div></div>
127
127
  <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>
128
128
  <div class="ttc" id="classSVF_1_1MTA_html_ab25d605ed6040a9ad6ed6fcec4e8d338"><div class="ttname"><a href="classSVF_1_1MTA.html#ab25d605ed6040a9ad6ed6fcec4e8d338">SVF::MTA::MTA</a></div><div class="ttdeci">MTA()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8cpp_source.html#l00030">MTA.cpp:30</a></div></div>
129
129
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00151">SVFBasicTypes.h:151</a></div></div>
@@ -71,13 +71,13 @@ $(function() {
71
71
  <div class="ttc" id="classSVF_1_1MTAStat_html"><div class="ttname"><a href="classSVF_1_1MTAStat.html">SVF::MTAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAStat_8h_source.html#l00024">MTAStat.h:24</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1MTA_html_a9c9a42fb8a8ada910cdb9a8fb55d7c36"><div class="ttname"><a href="classSVF_1_1MTA.html#a9c9a42fb8a8ada910cdb9a8fb55d7c36">SVF::MTA::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00084">MTA.h:84</a></div></div>
73
73
  <div class="ttc" id="namespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
74
- <div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00141">BasicTypes.h:141</a></div></div>
74
+ <div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00136">BasicTypes.h:136</a></div></div>
75
75
  <div class="ttc" id="classSVF_1_1MTA_html_a2473be56f2861ad101f65a65e02dff8d"><div class="ttname"><a href="classSVF_1_1MTA.html#a2473be56f2861ad101f65a65e02dff8d">SVF::MTA::FunToLoopInfoMap</a></div><div class="ttdeci">Map&lt; const Function *, LoopInfo * &gt; FunToLoopInfoMap</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00037">MTA.h:37</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1MTA_html_a7cb2fd230ed5839b59f650cc87de192e"><div class="ttname"><a href="classSVF_1_1MTA.html#a7cb2fd230ed5839b59f650cc87de192e">SVF::MTA::getSE</a></div><div class="ttdeci">static ScalarEvolution * getSE(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00072">MTA.h:72</a></div></div>
77
77
  <div class="ttc" id="namespaceSVF_html_ac226d84f86637126d17f6814632c8a90"><div class="ttname"><a href="namespaceSVF.html#ac226d84f86637126d17f6814632c8a90">SVF::ModulePass</a></div><div class="ttdeci">llvm::ModulePass ModulePass</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00091">BasicTypes.h:91</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1MTA_html_a4f2f17975aabd2c4b9a3b2fbf3b1a487"><div class="ttname"><a href="classSVF_1_1MTA.html#a4f2f17975aabd2c4b9a3b2fbf3b1a487">SVF::MTA::computeMHP</a></div><div class="ttdeci">virtual MHP * computeMHP(SVFModule *module)</div><div class="ttdoc">Compute MHP. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8cpp_source.html#l00118">MTA.cpp:118</a></div></div>
79
79
  <div class="ttc" id="Util_2BasicTypes_8h_html"><div class="ttname"><a href="Util_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
80
- <div class="ttc" id="namespaceSVF_html_a9f1aca0384166e42d14e2608009ebc01"><div class="ttname"><a href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">SVF::ScalarEvolutionWrapperPass</a></div><div class="ttdeci">llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass</div><div class="ttdoc">LLVM scalar evolution. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
80
+ <div class="ttc" id="namespaceSVF_html_a9f1aca0384166e42d14e2608009ebc01"><div class="ttname"><a href="namespaceSVF.html#a9f1aca0384166e42d14e2608009ebc01">SVF::ScalarEvolutionWrapperPass</a></div><div class="ttdeci">llvm::ScalarEvolutionWrapperPass ScalarEvolutionWrapperPass</div><div class="ttdoc">LLVM scalar evolution. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00135">BasicTypes.h:135</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1MTA_html_a5ce0b3247bd412e5267a42be0646471b"><div class="ttname"><a href="classSVF_1_1MTA.html#a5ce0b3247bd412e5267a42be0646471b">SVF::MTA::ID</a></div><div class="ttdeci">static char ID</div><div class="ttdoc">Pass ID. </div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00040">MTA.h:40</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1MTA_html_a891e56104b9c2daa8b052e3821e85b9b"><div class="ttname"><a href="classSVF_1_1MTA.html#a891e56104b9c2daa8b052e3821e85b9b">SVF::MTA::StoreSet</a></div><div class="ttdeci">Set&lt; const StoreInst * &gt; StoreSet</div><div class="ttdef"><b>Definition:</b> <a href="MTA_8h_source.html#l00035">MTA.h:35</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1MTA_html_a2ced024c7e0785d3d78d19c3c52d0f75"><div class="ttname"><a href="classSVF_1_1MTA.html#a2ced024c7e0785d3d78d19c3c52d0f75">SVF::MTA::dump</a></div><div class="ttdeci">void dump(Module &amp;module, MHP *mhp, LockAnalysis *lsa)</div></div>
@@ -70,7 +70,7 @@ $(function() {
70
70
  <div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a89ca36aaf82f17963abaa67c88415272"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a89ca36aaf82f17963abaa67c88415272">SVF::IntraDisjointMRG::getMRsForCallSiteRef</a></div><div class="ttdeci">virtual void getMRsForCallSiteRef(MRSet &amp;aliasMRs, const NodeBS &amp;cpts, const SVFFunction *fun)</div><div class="ttdoc">Get memory regions to be inserted at a load statement. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00262">MemPartition.cpp:262</a></div></div>
71
71
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
72
72
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
73
- <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="Util_2BasicTypes_8h_source.html#l00184">BasicTypes.h:184</a></div></div>
73
+ <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="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1MRGenerator_html_ac18324bd2b862c3cdbf65494bf69ecb5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">SVF::MRGenerator::createMR</a></div><div class="ttdeci">void createMR(const SVFFunction *fun, const NodeBS &amp;cpts)</div><div class="ttdoc">Generate a memory region and put in into functions which use it. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00070">MemRegion.cpp:70</a></div></div>
75
75
  <div class="ttc" id="classSVF_1_1DistinctMRG_html_a7a6ffa1c8dc8e624e3b42f97e6e4b393"><div class="ttname"><a href="classSVF_1_1DistinctMRG.html#a7a6ffa1c8dc8e624e3b42f97e6e4b393">SVF::DistinctMRG::createDistinctMR</a></div><div class="ttdeci">void createDistinctMR(const SVFFunction *func, const NodeBS &amp;cpts)</div><div class="ttdoc">Create memory regions for each points-to target. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00064">MemPartition.cpp:64</a></div></div>
76
76
  <div class="ttc" id="MemPartition_8h_html"><div class="ttname"><a href="MemPartition_8h.html">MemPartition.h</a></div></div>
@@ -71,7 +71,7 @@ $(function() {
71
71
  <div class="ttc" id="classSVF_1_1InterDisjointMRG_html_ae7846579fc473ae5eb6c9a8fac712d9a"><div class="ttname"><a href="classSVF_1_1InterDisjointMRG.html#ae7846579fc473ae5eb6c9a8fac712d9a">SVF::InterDisjointMRG::getMRsForLoad</a></div><div class="ttdeci">virtual void getMRsForLoad(MRSet &amp;aliasMRs, const NodeBS &amp;cpts, const SVFFunction *)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00157">MemPartition.h:157</a></div></div>
72
72
  <div class="ttc" id="MemRegion_8h_html"><div class="ttname"><a href="MemRegion_8h.html">MemRegion.h</a></div></div>
73
73
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
74
- <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="Util_2BasicTypes_8h_source.html#l00184">BasicTypes.h:184</a></div></div>
74
+ <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="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
75
75
  <div class="ttc" id="classSVF_1_1InterDisjointMRG_html_a104134d0f7c8b16abe8f5f3899c3bbf0"><div class="ttname"><a href="classSVF_1_1InterDisjointMRG.html#a104134d0f7c8b16abe8f5f3899c3bbf0">SVF::InterDisjointMRG::inters</a></div><div class="ttdeci">PointsToList inters</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00164">MemPartition.h:164</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1InterDisjointMRG_html_a664e831aa98e3c894e794273fbb78591"><div class="ttname"><a href="classSVF_1_1InterDisjointMRG.html#a664e831aa98e3c894e794273fbb78591">SVF::InterDisjointMRG::~InterDisjointMRG</a></div><div class="ttdeci">~InterDisjointMRG()</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00145">MemPartition.h:145</a></div></div>
77
77
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00106">SVFBasicTypes.h:106</a></div></div>