svf-tools 1.0.613 → 1.0.614

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 (538) hide show
  1. package/CMakeLists.txt +13 -0
  2. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +7 -6
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +15 -15
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +22 -22
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +16 -16
  9. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +6 -6
  10. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +7 -7
  11. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +6 -6
  12. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +11 -11
  16. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +5 -5
  19. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/CSC_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +14 -14
  22. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/ConsG_8h_source.html +9 -9
  25. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +18 -18
  26. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +9 -9
  27. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +4 -4
  28. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  29. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
  30. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +4 -6
  32. package/SVF-doxygen/html/html/DDAPass_8h_source.html +3 -3
  33. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +9 -9
  34. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +22 -22
  36. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +21 -21
  40. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  41. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +10 -10
  43. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  44. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
  45. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +27 -28
  46. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +65 -65
  47. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
  50. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  51. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
  52. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +6 -6
  54. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +3 -3
  55. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +23 -28
  56. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +8 -8
  57. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  59. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
  60. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +9 -9
  61. package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
  62. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  63. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  64. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/MHP_8cpp_source.html +10 -10
  66. package/SVF-doxygen/html/html/MHP_8h_source.html +5 -5
  67. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +17 -17
  68. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +8 -8
  69. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
  70. package/SVF-doxygen/html/html/MTA_8cpp_source.html +12 -17
  71. package/SVF-doxygen/html/html/MTA_8h_source.html +3 -4
  72. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +10 -10
  73. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +34 -34
  75. package/SVF-doxygen/html/html/MemRegion_8h_source.html +7 -7
  76. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +16 -15
  77. package/SVF-doxygen/html/html/MemSSA_8h_source.html +53 -52
  78. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -8
  79. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +7 -7
  80. package/SVF-doxygen/html/html/Options_8cpp_source.html +52 -53
  81. package/SVF-doxygen/html/html/Options_8h_source.html +53 -54
  82. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  83. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -3
  84. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
  86. package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +33 -33
  88. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +91 -95
  89. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +31 -39
  90. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +85 -92
  91. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +20 -20
  92. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +16 -16
  93. package/SVF-doxygen/html/html/PointsTo_8cpp.html +1 -0
  94. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +51 -51
  95. package/SVF-doxygen/html/html/PointsTo_8h_source.html +38 -38
  96. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
  97. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
  98. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +11 -22
  99. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +14 -17
  100. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  102. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
  103. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +21 -19
  104. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +5 -5
  105. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +18 -18
  106. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +49 -62
  107. package/SVF-doxygen/html/html/SVFG_8h_source.html +45 -45
  108. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +12 -12
  109. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +8 -8
  110. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +3 -3
  111. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +10 -16
  112. package/SVF-doxygen/html/html/SVFIR_8h_source.html +83 -83
  113. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +19 -19
  114. package/SVF-doxygen/html/html/SVFType_8h.html +22 -22
  115. package/SVF-doxygen/html/html/SVFType_8h_source.html +76 -77
  116. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
  117. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +11 -11
  118. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +5 -5
  119. package/SVF-doxygen/html/html/SVFValue_8h_source.html +4 -4
  120. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  121. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +6 -6
  123. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
  124. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +15 -15
  125. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -3
  126. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +69 -71
  127. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
  128. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +39 -39
  129. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  130. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
  131. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +49 -51
  132. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
  133. package/SVF-doxygen/html/html/TCT_8cpp_source.html +4 -4
  134. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  135. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +8 -8
  136. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  137. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  138. package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -17
  139. package/SVF-doxygen/html/html/VFG_8h_source.html +5 -5
  140. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +8 -8
  141. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +33 -33
  142. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
  143. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +11 -11
  144. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +12 -12
  145. package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
  146. package/SVF-doxygen/html/html/WPASolver_8h_source.html +25 -25
  147. package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
  148. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -5
  149. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -5
  150. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +187 -188
  155. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +104 -107
  156. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +163 -164
  157. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +47 -50
  158. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +194 -195
  159. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +45 -48
  160. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +204 -205
  161. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +35 -38
  162. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  163. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +191 -192
  164. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +29 -32
  165. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +122 -123
  166. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +158 -219
  167. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +137 -138
  169. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +57 -49
  170. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +138 -139
  171. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +34 -34
  172. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +7 -7
  173. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +140 -141
  175. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +30 -30
  176. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +8 -8
  177. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +114 -114
  180. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +6 -6
  181. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
  182. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +28 -28
  183. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
  184. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
  185. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +4 -4
  186. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +17 -31
  188. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
  189. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +40 -40
  190. package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +15 -15
  191. package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +4 -4
  192. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +11 -11
  193. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
  194. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  195. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
  196. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +228 -229
  198. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +62 -65
  199. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
  200. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +17 -17
  201. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +194 -195
  202. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +55 -55
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +219 -220
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +335 -342
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +57 -57
  206. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +6 -6
  207. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
  209. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +2 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
  214. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +4 -4
  216. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
  217. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +8 -8
  219. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis-members.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +20 -14
  221. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +4 -4
  222. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +106 -92
  223. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
  224. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +36 -36
  225. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
  227. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
  228. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +26 -26
  230. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +87 -87
  231. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +2 -2
  232. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +27 -33
  233. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +21 -21
  234. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
  235. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +41 -43
  236. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +57 -80
  237. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
  238. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +54 -54
  239. package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
  240. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +4 -3
  241. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +170 -143
  242. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +16 -16
  243. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData-members.html +3 -3
  245. package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +13 -15
  246. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
  247. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +8 -8
  249. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +17 -18
  251. package/SVF-doxygen/html/html/classSVF_1_1Options.html +53 -79
  252. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  253. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +3 -3
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +4 -4
  258. package/SVF-doxygen/html/html/classSVF_1_1PTData.html +11 -11
  259. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData-members.html +28 -28
  260. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +174 -177
  261. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData-members.html +17 -17
  262. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +99 -102
  263. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData-members.html +30 -30
  264. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +125 -127
  265. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData-members.html +13 -13
  266. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +83 -86
  267. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +122 -122
  269. package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData-members.html +22 -22
  270. package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +137 -140
  271. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +56 -56
  272. package/SVF-doxygen/html/html/classSVF_1_1PointsTo-members.html +16 -16
  273. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +183 -178
  274. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator-members.html +7 -7
  275. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +87 -65
  276. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +6 -6
  277. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
  278. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +1 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +4 -4
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFArrayType.html +6 -6
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +3 -3
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +13 -16
  284. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +2 -2
  286. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +3 -3
  290. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +2 -2
  294. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +2 -2
  296. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +2 -2
  298. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +5 -7
  300. package/SVF-doxygen/html/html/classSVF_1_1SVFFunctionType.html +9 -9
  301. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +211 -236
  303. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +7 -9
  304. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +50 -138
  305. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
  306. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +82 -82
  307. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +5 -5
  308. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +2 -2
  310. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +203 -215
  312. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +13 -13
  313. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +79 -79
  314. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +1 -1
  315. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +4 -4
  316. package/SVF-doxygen/html/html/classSVF_1_1SVFIntergerType.html +5 -5
  317. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +1 -1
  318. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +2 -2
  319. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +0 -4
  320. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +5 -5
  321. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +3 -3
  323. package/SVF-doxygen/html/html/classSVF_1_1SVFPointerType.html +9 -9
  324. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +19 -19
  325. package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +5 -5
  326. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +38 -38
  327. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  328. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +4 -5
  329. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  330. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +1 -1
  331. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +2 -2
  332. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +9 -9
  333. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +12 -14
  334. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +42 -68
  335. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +108 -109
  337. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator-members.html +1 -1
  338. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +50 -50
  339. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +6 -6
  340. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +146 -146
  341. package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +5 -5
  342. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +48 -61
  343. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +178 -179
  344. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +35 -38
  345. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  346. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +20 -20
  347. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +42 -46
  348. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +10 -10
  349. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
  350. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +169 -170
  351. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +29 -32
  352. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  353. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +28 -28
  354. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +263 -264
  355. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +112 -115
  356. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +41 -41
  357. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  358. package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +9 -9
  359. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +2 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +9 -9
  361. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +2 -2
  362. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +15 -15
  363. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +25 -25
  364. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +2 -2
  365. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +17 -17
  366. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +2 -2
  367. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +76 -81
  368. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +2 -2
  369. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  370. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  371. package/SVF-doxygen/html/html/functions.html +1 -1
  372. package/SVF-doxygen/html/html/functions_0x7e.html +16 -16
  373. package/SVF-doxygen/html/html/functions_a.html +7 -7
  374. package/SVF-doxygen/html/html/functions_b.html +6 -6
  375. package/SVF-doxygen/html/html/functions_c.html +27 -27
  376. package/SVF-doxygen/html/html/functions_d.html +10 -11
  377. package/SVF-doxygen/html/html/functions_e.html +2 -2
  378. package/SVF-doxygen/html/html/functions_f.html +6 -6
  379. package/SVF-doxygen/html/html/functions_func.html +6 -6
  380. package/SVF-doxygen/html/html/functions_func_0x7e.html +16 -16
  381. package/SVF-doxygen/html/html/functions_func_b.html +6 -6
  382. package/SVF-doxygen/html/html/functions_func_c.html +27 -27
  383. package/SVF-doxygen/html/html/functions_func_d.html +10 -11
  384. package/SVF-doxygen/html/html/functions_func_e.html +2 -2
  385. package/SVF-doxygen/html/html/functions_func_f.html +5 -5
  386. package/SVF-doxygen/html/html/functions_func_g.html +22 -22
  387. package/SVF-doxygen/html/html/functions_func_h.html +3 -3
  388. package/SVF-doxygen/html/html/functions_func_i.html +2 -2
  389. package/SVF-doxygen/html/html/functions_func_o.html +3 -3
  390. package/SVF-doxygen/html/html/functions_func_p.html +5 -5
  391. package/SVF-doxygen/html/html/functions_func_r.html +5 -8
  392. package/SVF-doxygen/html/html/functions_func_s.html +5 -5
  393. package/SVF-doxygen/html/html/functions_func_t.html +1 -1
  394. package/SVF-doxygen/html/html/functions_func_u.html +23 -23
  395. package/SVF-doxygen/html/html/functions_g.html +25 -28
  396. package/SVF-doxygen/html/html/functions_h.html +3 -3
  397. package/SVF-doxygen/html/html/functions_i.html +5 -5
  398. package/SVF-doxygen/html/html/functions_m.html +1 -1
  399. package/SVF-doxygen/html/html/functions_o.html +13 -13
  400. package/SVF-doxygen/html/html/functions_p.html +19 -19
  401. package/SVF-doxygen/html/html/functions_r.html +11 -12
  402. package/SVF-doxygen/html/html/functions_s.html +32 -35
  403. package/SVF-doxygen/html/html/functions_t.html +12 -12
  404. package/SVF-doxygen/html/html/functions_type_t.html +1 -1
  405. package/SVF-doxygen/html/html/functions_u.html +26 -23
  406. package/SVF-doxygen/html/html/functions_v.html +6 -6
  407. package/SVF-doxygen/html/html/functions_vars.html +1 -1
  408. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  409. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  410. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  411. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  412. package/SVF-doxygen/html/html/functions_vars_p.html +2 -2
  413. package/SVF-doxygen/html/html/functions_vars_s.html +5 -8
  414. package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
  415. package/SVF-doxygen/html/html/functions_vars_u.html +3 -0
  416. package/SVF-doxygen/html/html/functions_w.html +3 -7
  417. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
  418. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  419. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  420. package/SVF-doxygen/html/html/namespaceSVF.html +35 -35
  421. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +2 -2
  422. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
  423. package/SVF-doxygen/html/html/saber_8cpp.html +1 -5
  424. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -5
  425. package/SVF-doxygen/html/html/search/all_0.js +1 -1
  426. package/SVF-doxygen/html/html/search/all_1.js +4 -4
  427. package/SVF-doxygen/html/html/search/all_10.js +15 -15
  428. package/SVF-doxygen/html/html/search/all_11.js +1 -2
  429. package/SVF-doxygen/html/html/search/all_12.js +19 -20
  430. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  431. package/SVF-doxygen/html/html/search/all_14.js +13 -12
  432. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  433. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  434. package/SVF-doxygen/html/html/search/all_19.js +16 -16
  435. package/SVF-doxygen/html/html/search/all_2.js +6 -6
  436. package/SVF-doxygen/html/html/search/all_3.js +14 -14
  437. package/SVF-doxygen/html/html/search/all_4.js +5 -5
  438. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  439. package/SVF-doxygen/html/html/search/all_6.js +5 -5
  440. package/SVF-doxygen/html/html/search/all_7.js +11 -12
  441. package/SVF-doxygen/html/html/search/all_8.js +3 -3
  442. package/SVF-doxygen/html/html/search/all_9.js +3 -3
  443. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  444. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  445. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  446. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  447. package/SVF-doxygen/html/html/search/all_f.js +5 -5
  448. package/SVF-doxygen/html/html/search/functions_0.js +4 -4
  449. package/SVF-doxygen/html/html/search/functions_1.js +6 -6
  450. package/SVF-doxygen/html/html/search/functions_10.js +1 -2
  451. package/SVF-doxygen/html/html/search/functions_11.js +10 -10
  452. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  453. package/SVF-doxygen/html/html/search/functions_13.js +12 -12
  454. package/SVF-doxygen/html/html/search/functions_17.js +16 -16
  455. package/SVF-doxygen/html/html/search/functions_2.js +14 -14
  456. package/SVF-doxygen/html/html/search/functions_3.js +5 -5
  457. package/SVF-doxygen/html/html/search/functions_4.js +2 -2
  458. package/SVF-doxygen/html/html/search/functions_5.js +4 -4
  459. package/SVF-doxygen/html/html/search/functions_6.js +11 -11
  460. package/SVF-doxygen/html/html/search/functions_7.js +3 -3
  461. package/SVF-doxygen/html/html/search/functions_8.js +2 -2
  462. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  463. package/SVF-doxygen/html/html/search/functions_e.js +3 -3
  464. package/SVF-doxygen/html/html/search/functions_f.js +5 -5
  465. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  466. package/SVF-doxygen/html/html/search/variables_0.js +1 -1
  467. package/SVF-doxygen/html/html/search/variables_10.js +2 -2
  468. package/SVF-doxygen/html/html/search/variables_12.js +5 -6
  469. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  470. package/SVF-doxygen/html/html/search/variables_14.js +1 -0
  471. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  472. package/SVF-doxygen/html/html/search/variables_7.js +0 -1
  473. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  474. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  475. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  476. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +14 -14
  477. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  478. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  479. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  480. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  481. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  482. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +1 -1
  483. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +47 -57
  484. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  485. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
  486. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +5 -5
  487. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  488. package/SVF-doxygen/html/html/svf-ex_8cpp.html +6 -7
  489. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  490. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
  491. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  492. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  493. package/build.sh +2 -2
  494. package/include/DDA/DDAPass.h +1 -1
  495. package/include/DDA/FlowDDA.h +1 -1
  496. package/include/Graphs/ICFG.h +1 -1
  497. package/include/Graphs/SVFG.h +3 -4
  498. package/include/Graphs/SVFGOPT.h +7 -7
  499. package/include/MSSA/MemSSA.h +2 -0
  500. package/include/MSSA/SVFGBuilder.h +5 -14
  501. package/include/MTA/MTA.h +2 -2
  502. package/include/MemoryModel/MutablePointsToDS.h +3 -3
  503. package/include/MemoryModel/PersistentPointsToCache.h +7 -8
  504. package/include/MemoryModel/PersistentPointsToDS.h +93 -93
  505. package/include/MemoryModel/PointerAnalysisImpl.h +17 -28
  506. package/include/MemoryModel/PointsTo.h +24 -24
  507. package/include/SABER/SrcSnkDDA.h +10 -13
  508. package/include/SVF-LLVM/LLVMLoopAnalysis.h +2 -1
  509. package/include/SVF-LLVM/LLVMModule.h +6 -6
  510. package/include/SVFIR/SVFIR.h +3 -5
  511. package/include/SVFIR/SVFType.h +6 -8
  512. package/include/SVFIR/SVFValue.h +3 -3
  513. package/include/Util/Options.h +0 -1
  514. package/include/Util/SparseBitVector.h +6 -14
  515. package/include/WPA/FlowSensitive.h +13 -20
  516. package/include/WPA/WPASolver.h +5 -9
  517. package/lib/DDA/DDAPass.cpp +4 -4
  518. package/lib/Graphs/CFLGraph.cpp +3 -0
  519. package/lib/Graphs/SVFG.cpp +1 -1
  520. package/lib/MSSA/MemSSA.cpp +5 -3
  521. package/lib/MSSA/SVFGBuilder.cpp +9 -27
  522. package/lib/MTA/MTA.cpp +4 -4
  523. package/lib/MemoryModel/PointerAnalysisImpl.cpp +10 -10
  524. package/lib/MemoryModel/PointsTo.cpp +23 -19
  525. package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +3 -4
  526. package/lib/SVF-LLVM/LLVMModule.cpp +32 -21
  527. package/lib/SVFIR/SVFIR.cpp +1 -1
  528. package/lib/SVFIR/SymbolTableInfo.cpp +4 -15
  529. package/lib/Util/Options.cpp +0 -6
  530. package/lib/WPA/AndersenSFR.cpp +1 -1
  531. package/lib/WPA/FlowSensitive.cpp +1 -1
  532. package/package.json +1 -1
  533. package/tools/CFL/cfl.cpp +5 -4
  534. package/tools/DDA/dda.cpp +3 -2
  535. package/tools/Example/svf-ex.cpp +3 -2
  536. package/tools/MTA/mta.cpp +6 -4
  537. package/tools/SABER/saber.cpp +7 -5
  538. package/tools/WPA/wpa.cpp +3 -2
@@ -356,7 +356,7 @@ Friends</h2></td></tr>
356
356
  <div class="ttc" id="classSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00883">SVFValue.h:883</a></div></div>
357
357
  <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
358
358
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af6e96694d983643a66c238cce01bff0e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if_t&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt; dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00405">Casting.h:405</a></div></div>
359
- <div class="ttc" id="classSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00315">SVFType.h:315</a></div></div>
359
+ <div class="ttc" id="classSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00313">SVFType.h:313</a></div></div>
360
360
  <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#l00050">SVFType.h:50</a></div></div>
361
361
  <div class="ttc" id="classSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00147">SVFValue.h:147</a></div></div>
362
362
  <div class="ttc" id="classSVF_1_1LocationSet_html_a0b4376975f8532c7e2daa759ec7922f7"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0b4376975f8532c7e2daa759ec7922f7">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00063">LocationSet.cpp:63</a></div></div>
@@ -365,9 +365,9 @@ Friends</h2></td></tr>
365
365
  <div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
366
366
  <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00908">SVFValue.h:908</a></div></div>
367
367
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
368
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00167">SymbolTableInfo.cpp:167</a></div></div>
368
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00156">SymbolTableInfo.cpp:156</a></div></div>
369
369
  <div class="ttc" id="cJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
370
- <div class="ttc" id="classSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00235">SVFType.h:235</a></div></div>
370
+ <div class="ttc" id="classSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00233">SVFType.h:233</a></div></div>
371
371
  </div><!-- fragment -->
372
372
  </div>
373
373
  </div>
@@ -442,12 +442,12 @@ Friends</h2></td></tr>
442
442
  <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00197">197</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
443
443
  <div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;{</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</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> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
444
444
  <div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00153">LocationSet.cpp:153</a></div></div>
445
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_abbd0e0cf759fad7858224ed8a63aade8"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">SVF::SparseBitVector::contains</a></div><div class="ttdeci">bool contains(const SparseBitVector&lt; ElementSize &gt; &amp;RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01073">SparseBitVector.h:1073</a></div></div>
445
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_abbd0e0cf759fad7858224ed8a63aade8"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">SVF::SparseBitVector::contains</a></div><div class="ttdeci">bool contains(const SparseBitVector&lt; ElementSize &gt; &amp;RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01065">SparseBitVector.h:1065</a></div></div>
446
446
  <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
447
447
  <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">SVF::LocationSet::Superset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
448
448
  <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">SVF::LocationSet::Same</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
449
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01031">SparseBitVector.h:1031</a></div></div>
450
- <div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00462">SparseBitVector.h:462</a></div></div>
449
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01023">SparseBitVector.h:1023</a></div></div>
450
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00454">SparseBitVector.h:454</a></div></div>
451
451
  <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
452
452
  </div><!-- fragment -->
453
453
  </div>
@@ -480,8 +480,8 @@ Friends</h2></td></tr>
480
480
 
481
481
  <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00153">153</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
482
482
  <div class="fragment"><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;{</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>());</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
483
- <div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00462">SparseBitVector.h:462</a></div></div>
484
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
483
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00454">SparseBitVector.h:454</a></div></div>
484
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00739">SparseBitVector.h:739</a></div></div>
485
485
  </div><!-- fragment -->
486
486
  </div>
487
487
  </div>
@@ -531,13 +531,13 @@ Friends</h2></td></tr>
531
531
  <p>This is a pointer arithmic </p>
532
532
 
533
533
  <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00063">63</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
534
- <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFArrayType, SVFStructType&gt;(type))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">getNumOfFlattenElements</a>(type);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type-&gt;<a class="code" href="classSVF_1_1SVFType.html#a5d19107cd4bd64c3918419fd7d22d3b6">isSingleValueType</a>())</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"> 73</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(type))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a0b4376975f8532c7e2daa759ec7922f7">getElementNum</a>(pty-&gt;getPtrElementType());</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFFunctionType&gt;(type))</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;GepIter Type&quot;</span> &lt;&lt; type-&gt;<a class="code" href="classSVF_1_1SVFType.html#a879a4cc9b217fde0aa350fb8f7f7e047">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;What other types for this gep?&quot;</span>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; abort();</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;}</div><div class="ttc" id="classSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00315">SVFType.h:315</a></div></div>
534
+ <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFArrayType, SVFStructType&gt;(type))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">getNumOfFlattenElements</a>(type);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type-&gt;<a class="code" href="classSVF_1_1SVFType.html#a5d19107cd4bd64c3918419fd7d22d3b6">isSingleValueType</a>())</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"> 73</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(type))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a0b4376975f8532c7e2daa759ec7922f7">getElementNum</a>(pty-&gt;getPtrElementType());</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFFunctionType&gt;(type))</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;GepIter Type&quot;</span> &lt;&lt; type-&gt;<a class="code" href="classSVF_1_1SVFType.html#a879a4cc9b217fde0aa350fb8f7f7e047">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;What other types for this gep?&quot;</span>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; abort();</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;}</div><div class="ttc" id="classSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00313">SVFType.h:313</a></div></div>
535
535
  <div class="ttc" id="classSVF_1_1SVFType_html_a879a4cc9b217fde0aa350fb8f7f7e047"><div class="ttname"><a href="classSVF_1_1SVFType.html#a879a4cc9b217fde0aa350fb8f7f7e047">SVF::SVFType::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00697">LLVMUtil.cpp:697</a></div></div>
536
536
  <div class="ttc" id="classSVF_1_1LocationSet_html_a0b4376975f8532c7e2daa759ec7922f7"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0b4376975f8532c7e2daa759ec7922f7">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00063">LocationSet.cpp:63</a></div></div>
537
537
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
538
538
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
539
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a811a3489df0f793c7a5482d31d470a4c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const SVFType *T)</div><div class="ttdoc">Number of flattenned elements of an array or struct. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00158">SymbolTableInfo.cpp:158</a></div></div>
540
- <div class="ttc" id="classSVF_1_1SVFType_html_a5d19107cd4bd64c3918419fd7d22d3b6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a5d19107cd4bd64c3918419fd7d22d3b6">SVF::SVFType::isSingleValueType</a></div><div class="ttdeci">bool isSingleValueType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00309">SVFType.h:309</a></div></div>
539
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a811a3489df0f793c7a5482d31d470a4c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const SVFType *T)</div><div class="ttdoc">Number of flattenned elements of an array or struct. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00147">SymbolTableInfo.cpp:147</a></div></div>
540
+ <div class="ttc" id="classSVF_1_1SVFType_html_a5d19107cd4bd64c3918419fd7d22d3b6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a5d19107cd4bd64c3918419fd7d22d3b6">SVF::SVFType::isSingleValueType</a></div><div class="ttdeci">bool isSingleValueType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00307">SVFType.h:307</a></div></div>
541
541
  </div><!-- fragment -->
542
542
  </div>
543
543
  </div>
@@ -597,7 +597,7 @@ Friends</h2></td></tr>
597
597
 
598
598
  <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00116">116</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
599
599
  <div class="fragment"><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="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.computeAllLocations());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00153">LocationSet.cpp:153</a></div></div>
600
- <div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01031">SparseBitVector.h:1031</a></div></div>
600
+ <div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01023">SparseBitVector.h:1023</a></div></div>
601
601
  </div><!-- fragment -->
602
602
  </div>
603
603
  </div>
@@ -861,11 +861,11 @@ Private Attributes</h2></td></tr>
861
861
  <p>Add inter-procedural context-sensitive lock </p>
862
862
 
863
863
  <p class="definition">Definition at line <a class="el" href="LockAnalysis_8h_source.html#l00151">151</a> of file <a class="el" href="LockAnalysis_8h_source.html">LockAnalysis.h</a>.</p>
864
- <div class="fragment"><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="classSVF_1_1LockAnalysis.html#ab468a6a0f1705c000dc4260097222b06">CxtLock</a> cxtlock(cxt,inst);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">cxtLockset</a>.insert(cxtlock);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;LockAnalysis Process new lock &quot;</span>; cxtlock.dump());</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
864
+ <div class="fragment"><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="classSVF_1_1LockAnalysis.html#ab468a6a0f1705c000dc4260097222b06">CxtLock</a> cxtlock(cxt,inst);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">cxtLockset</a>.insert(cxtlock);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;LockAnalysis Process new lock &quot;</span>; cxtlock.dump());</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; }</div><div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
865
865
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
866
866
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ab468a6a0f1705c000dc4260097222b06"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ab468a6a0f1705c000dc4260097222b06">SVF::LockAnalysis::CxtLock</a></div><div class="ttdeci">CxtStmt CxtLock</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00056">LockAnalysis.h:56</a></div></div>
867
867
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a3081e7c7165908ed4aa282f398c5236d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a3081e7c7165908ed4aa282f398c5236d">SVF::LockAnalysis::cxtLockset</a></div><div class="ttdeci">CxtLockSet cxtLockset</div><div class="ttdoc">Context-sensitive locks. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00476">LockAnalysis.h:476</a></div></div>
868
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
868
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
869
869
  </div><!-- fragment -->
870
870
  </div>
871
871
  </div>
@@ -1012,10 +1012,10 @@ Private Attributes</h2></td></tr>
1012
1012
  <p>context-sensitive forward traversal from each lock site. Generate following results (1) context-sensitive lock site, (2) maps a context-sensitive lock site to its corresponding lock span. </p>
1013
1013
 
1014
1014
  <p class="definition">Definition at line <a class="el" href="LockAnalysis_8cpp_source.html#l00041">41</a> of file <a class="el" href="LockAnalysis_8cpp_source.html">LockAnalysis.cpp</a>.</p>
1015
- <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#aa8683de99ad02fb75b175b0bb54e5f7d">collectLockUnlocksites</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">buildCandidateFuncSetforLock</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockStart = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">analyzeIntraProcedualLock</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">collectCxtLock</a>();</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="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">analyzeLockSpanCxtStmt</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockEnd = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">lockTime</a> += (lockEnd - lockStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div><div class="ttc" id="SVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00424">SVFType.h:424</a></div></div>
1016
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00446">SVFType.h:446</a></div></div>
1017
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
1018
- <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00421">SVFType.h:421</a></div></div>
1015
+ <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#aa8683de99ad02fb75b175b0bb54e5f7d">collectLockUnlocksites</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">buildCandidateFuncSetforLock</a>();</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockStart = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tIntra-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">analyzeIntraProcedualLock</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tCollect context-sensitive locks\n&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">collectCxtLock</a>();</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="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tInter-procedural LockAnalysis\n&quot;</span>);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">analyzeLockSpanCxtStmt</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> lockEnd = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">lockTime</a> += (lockEnd - lockStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div><div class="ttc" id="SVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00422">SVFType.h:422</a></div></div>
1016
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
1017
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
1018
+ <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
1019
1019
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a34f7544f22a87e1caf010c34abda75"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a34f7544f22a87e1caf010c34abda75">SVF::LockAnalysis::analyzeIntraProcedualLock</a></div><div class="ttdeci">void analyzeIntraProcedualLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00142">LockAnalysis.cpp:142</a></div></div>
1020
1020
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1021
1021
  <div class="ttc" id="classSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
@@ -1023,7 +1023,7 @@ Private Attributes</h2></td></tr>
1023
1023
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ae03db88ef0ad0da2c31cf1623b32165f"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ae03db88ef0ad0da2c31cf1623b32165f">SVF::LockAnalysis::collectCxtLock</a></div><div class="ttdeci">void collectCxtLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00254">LockAnalysis.cpp:254</a></div></div>
1024
1024
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_adadee129c04b82576b4ca3c7594cdcb2"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#adadee129c04b82576b4ca3c7594cdcb2">SVF::LockAnalysis::lockTime</a></div><div class="ttdeci">double lockTime</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00511">LockAnalysis.h:511</a></div></div>
1025
1025
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a00ccd89eff3fe8fec397df101f927cbe"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a00ccd89eff3fe8fec397df101f927cbe">SVF::LockAnalysis::analyzeLockSpanCxtStmt</a></div><div class="ttdeci">void analyzeLockSpanCxtStmt()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00325">LockAnalysis.cpp:325</a></div></div>
1026
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
1026
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
1027
1027
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a271506d5032033efae684b0d729f5b3e"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a271506d5032033efae684b0d729f5b3e">SVF::LockAnalysis::buildCandidateFuncSetforLock</a></div><div class="ttdeci">void buildCandidateFuncSetforLock()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00094">LockAnalysis.cpp:94</a></div></div>
1028
1028
  </div><!-- fragment -->
1029
1029
  </div>
@@ -1083,7 +1083,7 @@ Private Attributes</h2></td></tr>
1083
1083
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a2c4a69b0f2381142c172b3043943c79d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a2c4a69b0f2381142c172b3043943c79d">SVF::LockAnalysis::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdoc">TCT. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00466">LockAnalysis.h:466</a></div></div>
1084
1084
  <div class="ttc" id="classSVF_1_1TCT_html_a692a74188f141ffbdbb859ecae8b07ab"><div class="ttname"><a href="classSVF_1_1TCT.html#a692a74188f141ffbdbb859ecae8b07ab">SVF::TCT::getEntryProcs</a></div><div class="ttdeci">const FunSet &amp; getEntryProcs() const</div><div class="ttdoc">Get marked candidate functions. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00228">TCT.h:228</a></div></div>
1085
1085
  <div class="ttc" id="namespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00119">SVFType.h:119</a></div></div>
1086
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
1086
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
1087
1087
  <div class="ttc" id="classSVF_1_1CxtStmt_html_a0b593c4ba425937212e2889e64ce4791"><div class="ttname"><a href="classSVF_1_1CxtStmt.html#a0b593c4ba425937212e2889e64ce4791">SVF::CxtStmt::getStmt</a></div><div class="ttdeci">const SVFInstruction * getStmt() const</div><div class="ttdoc">Return current statement. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00062">CxtStmt.h:62</a></div></div>
1088
1088
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a109293f282e9b920b0b13c58026f6f1d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a109293f282e9b920b0b13c58026f6f1d">SVF::LockAnalysis::cxtStmtList</a></div><div class="ttdeci">CxtStmtWorkList cxtStmtList</div><div class="ttdoc">context-sensitive statement worklist </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00469">LockAnalysis.h:469</a></div></div>
1089
1089
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a6c918786d065309e8a7b13759f410a09"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a6c918786d065309e8a7b13759f410a09">SVF::LockAnalysis::hasCxtLock</a></div><div class="ttdeci">bool hasCxtLock(const CxtLock &amp;cxtLock) const</div><div class="ttdoc">Get context-sensitive lock. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00159">LockAnalysis.h:159</a></div></div>
@@ -1101,7 +1101,7 @@ Private Attributes</h2></td></tr>
1101
1101
  <div class="ttc" id="classSVF_1_1CxtStmt_html_a56e2767c327a383db09dca96edb19614"><div class="ttname"><a href="classSVF_1_1CxtStmt.html#a56e2767c327a383db09dca96edb19614">SVF::CxtStmt::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdoc">Dump CxtStmt. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00109">CxtStmt.h:109</a></div></div>
1102
1102
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ae8715683c7dfddc7b30caf6bf2b78296"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ae8715683c7dfddc7b30caf6bf2b78296">SVF::LockAnalysis::instToCxtStmtSet</a></div><div class="ttdeci">InstToCxtStmtSet instToCxtStmtSet</div><div class="ttdoc">Map a statement to all its context-sensitive statements. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00472">LockAnalysis.h:472</a></div></div>
1103
1103
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a6039a72839e5eaf27c4c19c2e8316321"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a6039a72839e5eaf27c4c19c2e8316321">SVF::LockAnalysis::isTDFork</a></div><div class="ttdeci">bool isTDFork(const SVFInstruction *call)</div><div class="ttdoc">Whether it is a lock site. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00440">LockAnalysis.h:440</a></div></div>
1104
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
1104
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
1105
1105
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a52e79d50288bfa2d146072be53ed058b"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a52e79d50288bfa2d146072be53ed058b">SVF::LockAnalysis::handleFork</a></div><div class="ttdeci">void handleFork(const CxtStmt &amp;cts)</div><div class="ttdoc">Handle fork. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00402">LockAnalysis.cpp:402</a></div></div>
1106
1106
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_aa5b3666fbaef262981626952f1658736"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aa5b3666fbaef262981626952f1658736">SVF::LockAnalysis::pushToCTSWorkList</a></div><div class="ttdeci">bool pushToCTSWorkList(const CxtStmt &amp;cs)</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00423">LockAnalysis.h:423</a></div></div>
1107
1107
  <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="SVFUtil_8h_source.html#l00295">SVFUtil.h:295</a></div></div>
@@ -1204,7 +1204,7 @@ Private Attributes</h2></td></tr>
1204
1204
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a2c4a69b0f2381142c172b3043943c79d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a2c4a69b0f2381142c172b3043943c79d">SVF::LockAnalysis::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdoc">TCT. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00466">LockAnalysis.h:466</a></div></div>
1205
1205
  <div class="ttc" id="classSVF_1_1TCT_html_a692a74188f141ffbdbb859ecae8b07ab"><div class="ttname"><a href="classSVF_1_1TCT.html#a692a74188f141ffbdbb859ecae8b07ab">SVF::TCT::getEntryProcs</a></div><div class="ttdeci">const FunSet &amp; getEntryProcs() const</div><div class="ttdoc">Get marked candidate functions. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00228">TCT.h:228</a></div></div>
1206
1206
  <div class="ttc" id="namespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00119">SVFType.h:119</a></div></div>
1207
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
1207
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
1208
1208
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00095">GenericGraph.h:95</a></div></div>
1209
1209
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_afff2c5699e08badf5265e8183b18a02e"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#afff2c5699e08badf5265e8183b18a02e">SVF::LockAnalysis::clpList</a></div><div class="ttdeci">CxtLockProcVec clpList</div><div class="ttdoc">Following data structures are used for collecting context-sensitive locks. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00487">LockAnalysis.h:487</a></div></div>
1210
1210
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a6559c998c0b6f8e851d10ae2ab4171"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a6559c998c0b6f8e851d10ae2ab4171">SVF::LockAnalysis::pushToCTPWorkList</a></div><div class="ttdeci">bool pushToCTPWorkList(const CxtLockProc &amp;clp)</div><div class="ttdoc">WorkList helper functions. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00401">LockAnalysis.h:401</a></div></div>
@@ -1220,7 +1220,7 @@ Private Attributes</h2></td></tr>
1220
1220
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
1221
1221
  <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00212">GenericGraph.h:212</a></div></div>
1222
1222
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_afbdb582d20ab953b2de1f3efacb74679"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#afbdb582d20ab953b2de1f3efacb74679">SVF::PTACallGraphEdge::indirectCallsBegin</a></div><div class="ttdeci">CallInstSet::const_iterator indirectCallsBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00131">PTACallGraph.h:131</a></div></div>
1223
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
1223
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
1224
1224
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ab99ef73905f35d4c20ca408586fc8680"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ab99ef73905f35d4c20ca408586fc8680">SVF::LockAnalysis::handleCallRelation</a></div><div class="ttdeci">void handleCallRelation(CxtLockProc &amp;clp, const PTACallGraphEdge *cgEdge, CallSite call)</div><div class="ttdoc">Handle call relations. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00303">LockAnalysis.cpp:303</a></div></div>
1225
1225
  </div><!-- fragment -->
1226
1226
  </div>
@@ -1645,7 +1645,7 @@ Private Attributes</h2></td></tr>
1645
1645
  <div class="fragment"><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <a class="code" href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">CallStrCxt</a> cxt(clp.getContext());</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LockAnalysis.html#ab8376e0cbdff101b7b981141637e3da3">isTDAcquire</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()))</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#a6b8d03d75751635e492dbda47e2d543e">addCxtLock</a>(cxt,cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfcallee = cgEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getFunction();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ac5993b55304d38e077d19c4ac2d680f0">pushCxt</a>(cxt, cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>(), svfcallee);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ad855d1de318766ac305a10bfdae4da82">CxtLockProc</a> newclp(cxt, svfcallee);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LockAnalysis.html#a8a6559c998c0b6f8e851d10ae2ab4171">pushToCTPWorkList</a>(newclp))</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;LockAnalysis Process CallRet old clp --&quot;</span>; clp.dump());</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;LockAnalysis Process CallRet new clp --&quot;</span>; newclp.dump());</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160;}</div><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>
1646
1646
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ac5993b55304d38e077d19c4ac2d680f0"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ac5993b55304d38e077d19c4ac2d680f0">SVF::LockAnalysis::pushCxt</a></div><div class="ttdeci">void pushCxt(CallStrCxt &amp;cxt, const SVFInstruction *call, const SVFFunction *callee)</div><div class="ttdoc">Push calling context. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00510">LockAnalysis.cpp:510</a></div></div>
1647
1647
  <div class="ttc" id="namespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00119">SVFType.h:119</a></div></div>
1648
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
1648
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
1649
1649
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00095">GenericGraph.h:95</a></div></div>
1650
1650
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a8a6559c998c0b6f8e851d10ae2ab4171"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a8a6559c998c0b6f8e851d10ae2ab4171">SVF::LockAnalysis::pushToCTPWorkList</a></div><div class="ttdeci">bool pushToCTPWorkList(const CxtLockProc &amp;clp)</div><div class="ttdoc">WorkList helper functions. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00401">LockAnalysis.h:401</a></div></div>
1651
1651
  <div class="ttc" id="classSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01023">SVFValue.h:1023</a></div></div>
@@ -1653,7 +1653,7 @@ Private Attributes</h2></td></tr>
1653
1653
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a6b8d03d75751635e492dbda47e2d543e"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a6b8d03d75751635e492dbda47e2d543e">SVF::LockAnalysis::addCxtLock</a></div><div class="ttdeci">void addCxtLock(const CallStrCxt &amp;cxt, const SVFInstruction *inst)</div><div class="ttdoc">Context-sensitive locks. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00151">LockAnalysis.h:151</a></div></div>
1654
1654
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ad855d1de318766ac305a10bfdae4da82"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ad855d1de318766ac305a10bfdae4da82">SVF::LockAnalysis::CxtLockProc</a></div><div class="ttdeci">CxtProc CxtLockProc</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00057">LockAnalysis.h:57</a></div></div>
1655
1655
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ab8376e0cbdff101b7b981141637e3da3"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ab8376e0cbdff101b7b981141637e3da3">SVF::LockAnalysis::isTDAcquire</a></div><div class="ttdeci">bool isTDAcquire(const SVFInstruction *call)</div><div class="ttdoc">Whether it is a lock site. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00445">LockAnalysis.h:445</a></div></div>
1656
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
1656
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
1657
1657
  </div><!-- fragment -->
1658
1658
  </div>
1659
1659
  </div>
@@ -2105,14 +2105,14 @@ Private Attributes</h2></td></tr>
2105
2105
  <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>
2106
2106
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_add9272ead87ca994ee4e08dfa30fa0f4"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#add9272ead87ca994ee4e08dfa30fa0f4">SVF::LockAnalysis::isAliasedLocks</a></div><div class="ttdeci">bool isAliasedLocks(const CxtLock &amp;cl1, const CxtLock &amp;cl2)</div><div class="ttdoc">Return true it a lock matches an unlock. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00345">LockAnalysis.h:345</a></div></div>
2107
2107
  <div class="ttc" id="classSVF_1_1SVFFunction_html_a793f485e92d12cf407f2ffa41861eb3d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">SVF::SVFFunction::getEntryBlock</a></div><div class="ttdeci">const SVFBasicBlock * getEntryBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00367">SVFValue.h:367</a></div></div>
2108
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
2108
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
2109
2109
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_aeb4b15ecc4ba1a0ca8794d304d1895cb"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aeb4b15ecc4ba1a0ca8794d304d1895cb">SVF::LockAnalysis::InstVec</a></div><div class="ttdeci">TCT::InstVec InstVec</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00060">LockAnalysis.h:60</a></div></div>
2110
2110
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
2111
2111
  <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00619">SVFValue.h:619</a></div></div>
2112
2112
  <div class="ttc" id="classSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00239">SVFValue.h:239</a></div></div>
2113
2113
  <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ad05f85ce931d4479f71d1947a25599dc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">SVF::SVFBasicBlock::back</a></div><div class="ttdeci">const SVFInstruction * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00542">SVFValue.h:542</a></div></div>
2114
2114
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ab8376e0cbdff101b7b981141637e3da3"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ab8376e0cbdff101b7b981141637e3da3">SVF::LockAnalysis::isTDAcquire</a></div><div class="ttdeci">bool isTDAcquire(const SVFInstruction *call)</div><div class="ttdoc">Whether it is a lock site. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00445">LockAnalysis.h:445</a></div></div>
2115
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
2115
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
2116
2116
  </div><!-- fragment -->
2117
2117
  </div>
2118
2118
  </div>
@@ -2154,7 +2154,7 @@ Private Attributes</h2></td></tr>
2154
2154
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_add9272ead87ca994ee4e08dfa30fa0f4"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#add9272ead87ca994ee4e08dfa30fa0f4">SVF::LockAnalysis::isAliasedLocks</a></div><div class="ttdeci">bool isAliasedLocks(const CxtLock &amp;cl1, const CxtLock &amp;cl2)</div><div class="ttdoc">Return true it a lock matches an unlock. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00345">LockAnalysis.h:345</a></div></div>
2155
2155
  <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>
2156
2156
  <div class="ttc" id="classSVF_1_1SVFInstruction_html_a281d6b024afeeb96bac281eb23ce3f1f"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f">SVF::SVFInstruction::getSuccInstructions</a></div><div class="ttdeci">InstVec &amp; getSuccInstructions()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00599">SVFValue.h:599</a></div></div>
2157
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
2157
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
2158
2158
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_aeb4b15ecc4ba1a0ca8794d304d1895cb"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aeb4b15ecc4ba1a0ca8794d304d1895cb">SVF::LockAnalysis::InstVec</a></div><div class="ttdeci">TCT::InstVec InstVec</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00060">LockAnalysis.h:60</a></div></div>
2159
2159
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
2160
2160
  <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00619">SVFValue.h:619</a></div></div>
@@ -2162,7 +2162,7 @@ Private Attributes</h2></td></tr>
2162
2162
  <div class="ttc" id="classSVF_1_1SVFFunction_html_a8ca4fa87f4c26b71c6e03c8f32db1071"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const SVFBasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00373">SVFValue.h:373</a></div></div>
2163
2163
  <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ad05f85ce931d4479f71d1947a25599dc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">SVF::SVFBasicBlock::back</a></div><div class="ttdeci">const SVFInstruction * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00542">SVFValue.h:542</a></div></div>
2164
2164
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ad1184e1c2d583fa0b03bd1892152925a"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ad1184e1c2d583fa0b03bd1892152925a">SVF::LockAnalysis::isTDRelease</a></div><div class="ttdeci">bool isTDRelease(const SVFInstruction *call)</div><div class="ttdoc">Whether it is a unlock site. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00450">LockAnalysis.h:450</a></div></div>
2165
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
2165
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
2166
2166
  </div><!-- fragment -->
2167
2167
  </div>
2168
2168
  </div>
@@ -2386,8 +2386,8 @@ Private Attributes</h2></td></tr>
2386
2386
  <div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;{</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> queryStart = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordtype">bool</span> sameSpan = <span class="keyword">false</span>;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">isInsideIntraLock</a>(i1) &amp;&amp; <a class="code" href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">isInsideIntraLock</a>(i2))</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; sameSpan = <a class="code" href="classSVF_1_1LockAnalysis.html#aa759d7cf2aa537a375daef4c637e597e">isInSameCISpan</a>(i1, i2);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; sameSpan = <a class="code" href="classSVF_1_1LockAnalysis.html#a1c23ab16b5c7ab5bb482a5828e615bbb">isInSameCSSpan</a>(i1, i2);</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> queryEnd = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#a853ab1a953ddcf76841016a833e43f3d">lockQueriesTime</a> += (queryEnd - queryStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">return</span> sameSpan;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;}</div><div class="ttc" id="classSVF_1_1LockAnalysis_html_aa759d7cf2aa537a375daef4c637e597e"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#aa759d7cf2aa537a375daef4c637e597e">SVF::LockAnalysis::isInSameCISpan</a></div><div class="ttdeci">bool isInSameCISpan(const SVFInstruction *i1, const SVFInstruction *i2) const</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00652">LockAnalysis.cpp:652</a></div></div>
2387
2387
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a1c23ab16b5c7ab5bb482a5828e615bbb"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a1c23ab16b5c7ab5bb482a5828e615bbb">SVF::LockAnalysis::isInSameCSSpan</a></div><div class="ttdeci">bool isInSameCSSpan(const SVFInstruction *i1, const SVFInstruction *i2) const</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00687">LockAnalysis.cpp:687</a></div></div>
2388
2388
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a3fd595637d248213c650889d6e2d07ad"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">SVF::LockAnalysis::isInsideIntraLock</a></div><div class="ttdeci">bool isInsideIntraLock(const SVFInstruction *stmt) const</div><div class="ttdoc">Return true if a statement is inside an intra-procedural lock. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00129">LockAnalysis.h:129</a></div></div>
2389
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00446">SVFType.h:446</a></div></div>
2390
- <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00421">SVFType.h:421</a></div></div>
2389
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2390
+ <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
2391
2391
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a853ab1a953ddcf76841016a833e43f3d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a853ab1a953ddcf76841016a833e43f3d">SVF::LockAnalysis::lockQueriesTime</a></div><div class="ttdeci">double lockQueriesTime</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00514">LockAnalysis.h:514</a></div></div>
2392
2392
  <div class="ttc" id="classSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
2393
2393
  </div><!-- fragment -->
@@ -2656,9 +2656,9 @@ Private Attributes</h2></td></tr>
2656
2656
 
2657
2657
  <p class="definition">Definition at line <a class="el" href="LockAnalysis_8cpp_source.html#l00556">556</a> of file <a class="el" href="LockAnalysis_8cpp_source.html">LockAnalysis.cpp</a>.</p>
2658
2658
  <div class="fragment"><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;{</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="classSVF_1_1LockAnalysis.html#ad648ad9cda4070f9aec1addef0067627">numOfTotalQueries</a>++;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordtype">bool</span> commonlock = <span class="keyword">false</span>;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> queryStart = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">isInsideIntraLock</a>(i1) &amp;&amp; <a class="code" href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">isInsideIntraLock</a>(i2))</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; commonlock = <a class="code" href="classSVF_1_1LockAnalysis.html#ae912e35cddd4235a663f84f70c3881e7">isProtectedByCommonCILock</a>(i1,i2) ;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; commonlock = <a class="code" href="classSVF_1_1LockAnalysis.html#a32c0c5bdd676302f1c9e797d540278d8">isProtectedByCommonCxtLock</a>(i1,i2);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<span class="keywordtype">double</span> queryEnd = <a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">PTAStat::getClk</a>(<span class="keyword">true</span>));</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a>(<a class="code" href="classSVF_1_1LockAnalysis.html#a853ab1a953ddcf76841016a833e43f3d">lockQueriesTime</a> += (queryEnd - queryStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">return</span> commonlock;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;}</div><div class="ttc" id="classSVF_1_1LockAnalysis_html_a3fd595637d248213c650889d6e2d07ad"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a3fd595637d248213c650889d6e2d07ad">SVF::LockAnalysis::isInsideIntraLock</a></div><div class="ttdeci">bool isInsideIntraLock(const SVFInstruction *stmt) const</div><div class="ttdoc">Return true if a statement is inside an intra-procedural lock. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00129">LockAnalysis.h:129</a></div></div>
2659
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00446">SVFType.h:446</a></div></div>
2659
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2660
2660
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a32c0c5bdd676302f1c9e797d540278d8"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a32c0c5bdd676302f1c9e797d540278d8">SVF::LockAnalysis::isProtectedByCommonCxtLock</a></div><div class="ttdeci">bool isProtectedByCommonCxtLock(const SVFInstruction *i1, const SVFInstruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00610">LockAnalysis.cpp:610</a></div></div>
2661
- <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00421">SVFType.h:421</a></div></div>
2661
+ <div class="ttc" id="SVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
2662
2662
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ad648ad9cda4070f9aec1addef0067627"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ad648ad9cda4070f9aec1addef0067627">SVF::LockAnalysis::numOfTotalQueries</a></div><div class="ttdeci">u32_t numOfTotalQueries</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00512">LockAnalysis.h:512</a></div></div>
2663
2663
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a853ab1a953ddcf76841016a833e43f3d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a853ab1a953ddcf76841016a833e43f3d">SVF::LockAnalysis::lockQueriesTime</a></div><div class="ttdeci">double lockQueriesTime</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00514">LockAnalysis.h:514</a></div></div>
2664
2664
  <div class="ttc" id="classSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
@@ -2889,7 +2889,7 @@ Private Attributes</h2></td></tr>
2889
2889
  <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00594">SVFValue.h:594</a></div></div>
2890
2890
  <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>
2891
2891
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a2c4a69b0f2381142c172b3043943c79d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a2c4a69b0f2381142c172b3043943c79d">SVF::LockAnalysis::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdoc">TCT. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00466">LockAnalysis.h:466</a></div></div>
2892
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
2892
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
2893
2893
  <div class="ttc" id="classSVF_1_1TCT_html_a95cd490d37f8831edc6910f7ecdf413e"><div class="ttname"><a href="classSVF_1_1TCT.html#a95cd490d37f8831edc6910f7ecdf413e">SVF::TCT::inSameCallGraphSCC</a></div><div class="ttdeci">bool inSameCallGraphSCC(const PTACallGraphNode *src, const PTACallGraphNode *dst)</div><div class="ttdoc">Whether two functions in the same callgraph scc. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00279">TCT.h:279</a></div></div>
2894
2894
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00058">SVFType.h:58</a></div></div>
2895
2895
  <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_af48d08d3adf7dd3ed69d97e4df360059"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">SVF::SVFBasicBlock::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00527">SVFValue.h:527</a></div></div>
@@ -2897,7 +2897,7 @@ Private Attributes</h2></td></tr>
2897
2897
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
2898
2898
  <div class="ttc" id="classSVF_1_1TCT_html_aa86c4422e17cf00408444f18687d555b"><div class="ttname"><a href="classSVF_1_1TCT.html#aa86c4422e17cf00408444f18687d555b">SVF::TCT::dumpCxt</a></div><div class="ttdeci">void dumpCxt(CallStrCxt &amp;cxt)</div><div class="ttdoc">Dump calling context. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00494">TCT.cpp:494</a></div></div>
2899
2899
  <div class="ttc" id="classSVF_1_1TCT_html_a90f5d399420894f087a24d315ad2ee8e"><div class="ttname"><a href="classSVF_1_1TCT.html#a90f5d399420894f087a24d315ad2ee8e">SVF::TCT::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdoc">Get CallICFGNode given inst. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00171">TCT.h:171</a></div></div>
2900
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
2900
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
2901
2901
  </div><!-- fragment -->
2902
2902
  </div>
2903
2903
  </div>
@@ -3033,7 +3033,7 @@ Private Attributes</h2></td></tr>
3033
3033
  <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00594">SVFValue.h:594</a></div></div>
3034
3034
  <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>
3035
3035
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a2c4a69b0f2381142c172b3043943c79d"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a2c4a69b0f2381142c172b3043943c79d">SVF::LockAnalysis::tct</a></div><div class="ttdeci">TCT * tct</div><div class="ttdoc">TCT. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00466">LockAnalysis.h:466</a></div></div>
3036
- <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
3036
+ <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00437">SVFType.h:437</a></div></div>
3037
3037
  <div class="ttc" id="classSVF_1_1TCT_html_a95cd490d37f8831edc6910f7ecdf413e"><div class="ttname"><a href="classSVF_1_1TCT.html#a95cd490d37f8831edc6910f7ecdf413e">SVF::TCT::inSameCallGraphSCC</a></div><div class="ttdeci">bool inSameCallGraphSCC(const PTACallGraphNode *src, const PTACallGraphNode *dst)</div><div class="ttdoc">Whether two functions in the same callgraph scc. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00279">TCT.h:279</a></div></div>
3038
3038
  <div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00058">SVFType.h:58</a></div></div>
3039
3039
  <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_af48d08d3adf7dd3ed69d97e4df360059"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">SVF::SVFBasicBlock::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00527">SVFValue.h:527</a></div></div>
@@ -3042,7 +3042,7 @@ Private Attributes</h2></td></tr>
3042
3042
  <div class="ttc" id="classSVF_1_1TCT_html_aa86c4422e17cf00408444f18687d555b"><div class="ttname"><a href="classSVF_1_1TCT.html#aa86c4422e17cf00408444f18687d555b">SVF::TCT::dumpCxt</a></div><div class="ttdeci">void dumpCxt(CallStrCxt &amp;cxt)</div><div class="ttdoc">Dump calling context. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00494">TCT.cpp:494</a></div></div>
3043
3043
  <div class="ttc" id="classSVF_1_1TCT_html_a90f5d399420894f087a24d315ad2ee8e"><div class="ttname"><a href="classSVF_1_1TCT.html#a90f5d399420894f087a24d315ad2ee8e">SVF::TCT::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdoc">Get CallICFGNode given inst. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00171">TCT.h:171</a></div></div>
3044
3044
  <div class="ttc" id="classSVF_1_1TCT_html_a625cd9d7ca85c0581af13e9e0c16960e"><div class="ttname"><a href="classSVF_1_1TCT.html#a625cd9d7ca85c0581af13e9e0c16960e">SVF::TCT::pushCxt</a></div><div class="ttdeci">void pushCxt(CallStrCxt &amp;cxt, const SVFInstruction *call, const SVFFunction *callee)</div><div class="ttdoc">Push calling context. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00443">TCT.cpp:443</a></div></div>
3045
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
3045
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
3046
3046
  </div><!-- fragment -->
3047
3047
  </div>
3048
3048
  </div>