svf-tools 1.0.458 → 1.0.461

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 (410) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  6. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
  9. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +14 -14
  10. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  12. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  13. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +16 -16
  15. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
  17. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  20. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +19 -19
  23. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  24. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
  27. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  29. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  30. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -0
  32. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +26 -25
  33. package/SVF-doxygen/html/html/ExeState_8h_source.html +13 -13
  34. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  35. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
  39. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  41. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  42. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
  43. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  47. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -6
  52. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +7 -7
  53. package/SVF-doxygen/html/html/IRGraph_8h_source.html +21 -21
  54. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +13 -13
  57. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
  58. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  59. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
  61. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +15 -14
  62. package/SVF-doxygen/html/html/LocationSet_8h_source.html +10 -10
  63. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +10 -10
  66. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  68. package/SVF-doxygen/html/html/MHP_8cpp_source.html +46 -46
  69. package/SVF-doxygen/html/html/MHP_8h.html +1 -0
  70. package/SVF-doxygen/html/html/MHP_8h_source.html +102 -101
  71. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  73. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  74. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +14 -14
  75. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
  76. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +9 -9
  77. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  79. package/SVF-doxygen/html/html/MTA_8h_source.html +4 -5
  80. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
  83. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  85. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  86. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  88. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  89. package/SVF-doxygen/html/html/PCG_8cpp_source.html +4 -4
  90. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  91. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +21 -21
  94. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  95. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  98. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  99. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +23 -23
  100. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
  101. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +68 -50
  102. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +51 -50
  103. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
  104. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
  107. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
  109. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  110. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
  111. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  112. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +52 -52
  113. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +37 -37
  114. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +19 -19
  115. package/SVF-doxygen/html/html/SVFIR_8h_source.html +19 -19
  116. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  117. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  118. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  119. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  120. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
  121. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
  122. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  123. package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -0
  124. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +35 -32
  125. package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -1
  126. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +141 -143
  127. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  128. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  129. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
  130. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  131. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  132. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +54 -54
  133. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  134. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +1 -0
  135. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +99 -95
  136. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -1
  137. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +144 -146
  138. package/SVF-doxygen/html/html/TCT_8cpp.html +1 -0
  139. package/SVF-doxygen/html/html/TCT_8cpp_source.html +41 -40
  140. package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
  141. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  142. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  143. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +6 -6
  144. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  145. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  146. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +22 -22
  147. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +4 -4
  148. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -4
  149. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -69
  150. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  151. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
  152. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  153. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  155. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  156. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
  157. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +4 -4
  161. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +11 -11
  162. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  165. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -5
  166. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
  168. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
  169. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  170. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  171. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +6 -6
  173. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +20 -20
  174. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  175. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  176. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
  178. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
  179. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  180. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +15 -15
  182. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +16 -16
  184. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +16 -16
  186. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -11
  188. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +53 -53
  189. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  192. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  194. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +20 -20
  197. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -18
  199. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +40 -40
  200. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
  202. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -9
  206. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +10 -10
  207. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +183 -183
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +45 -45
  214. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +29 -29
  217. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +10 -10
  219. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -10
  220. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +21 -21
  221. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
  222. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
  223. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
  227. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
  228. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  229. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  230. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +29 -29
  233. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
  234. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -11
  235. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +177 -177
  236. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +16 -16
  237. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +13 -13
  239. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
  240. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +25 -26
  241. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  242. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
  243. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  244. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  245. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
  248. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  249. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +99 -99
  251. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +35 -35
  253. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
  255. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  259. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +24 -24
  260. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +38 -38
  264. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  265. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
  266. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
  267. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +19 -19
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +62 -62
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +74 -74
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +99 -107
  285. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  286. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  287. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +7 -7
  288. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  290. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +84 -84
  291. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +231 -247
  293. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +88 -88
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  295. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
  296. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
  298. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
  299. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +36 -36
  301. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +13 -13
  303. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  304. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +24 -24
  306. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +19 -19
  308. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
  310. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
  312. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  313. package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
  314. package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
  315. package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
  316. package/SVF-doxygen/html/html/functions_a.html +5 -8
  317. package/SVF-doxygen/html/html/functions_c.html +9 -5
  318. package/SVF-doxygen/html/html/functions_f.html +6 -4
  319. package/SVF-doxygen/html/html/functions_func.html +10 -13
  320. package/SVF-doxygen/html/html/functions_func_g.html +11 -12
  321. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  322. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  323. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  324. package/SVF-doxygen/html/html/functions_g.html +11 -12
  325. package/SVF-doxygen/html/html/functions_h.html +1 -1
  326. package/SVF-doxygen/html/html/functions_i.html +1 -1
  327. package/SVF-doxygen/html/html/functions_l.html +3 -3
  328. package/SVF-doxygen/html/html/functions_m.html +1 -4
  329. package/SVF-doxygen/html/html/functions_n.html +3 -3
  330. package/SVF-doxygen/html/html/functions_o.html +14 -14
  331. package/SVF-doxygen/html/html/functions_p.html +11 -11
  332. package/SVF-doxygen/html/html/functions_r.html +7 -5
  333. package/SVF-doxygen/html/html/functions_s.html +7 -7
  334. package/SVF-doxygen/html/html/functions_t.html +6 -4
  335. package/SVF-doxygen/html/html/functions_v.html +3 -3
  336. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  337. package/SVF-doxygen/html/html/globals_c.html +103 -100
  338. package/SVF-doxygen/html/html/globals_s.html +6 -10
  339. package/SVF-doxygen/html/html/globals_type.html +3 -0
  340. package/SVF-doxygen/html/html/namespaceSVF.html +31 -67
  341. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +105 -63
  342. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +27 -27
  343. package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
  344. package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
  345. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  346. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  347. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -6
  348. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  349. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  350. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  351. package/SVF-doxygen/html/html/search/all_13.js +10 -11
  352. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  353. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  354. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  355. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  356. package/SVF-doxygen/html/html/search/all_7.js +4 -4
  357. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  358. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  359. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  360. package/SVF-doxygen/html/html/search/all_d.js +0 -1
  361. package/SVF-doxygen/html/html/search/all_e.js +6 -6
  362. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  363. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  364. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  365. package/SVF-doxygen/html/html/search/functions_6.js +4 -4
  366. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  367. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  368. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  369. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  370. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  371. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  372. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  373. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  374. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -3
  375. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  376. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -3
  377. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  378. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  379. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
  380. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  381. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  382. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  383. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  384. package/include/DDA/DDAPass.h +1 -1
  385. package/include/Graphs/SVFGEdge.h +0 -12
  386. package/include/MTA/LockResultValidator.h +1 -1
  387. package/include/MTA/MHP.h +1 -0
  388. package/include/MTA/MTA.h +1 -1
  389. package/include/MTA/MTAAnnotator.h +1 -1
  390. package/include/MTA/MTAResultValidator.h +1 -1
  391. package/include/MemoryModel/SVFVariables.h +1 -8
  392. package/include/MemoryModel/SymbolTableInfo.h +2 -22
  393. package/include/SVF-FE/BasicTypes.h +1 -0
  394. package/include/SVF-FE/BreakConstantExpr.h +2 -2
  395. package/include/Util/BasicTypes.h +1 -3
  396. package/include/Util/SVFBasicTypes.h +1 -1
  397. package/include/Util/SVFUtil.h +16 -1
  398. package/include/WPA/WPAPass.h +1 -1
  399. package/lib/MTA/LockResultValidator.cpp +2 -2
  400. package/lib/MTA/MTAResultValidator.cpp +2 -2
  401. package/lib/MTA/TCT.cpp +1 -0
  402. package/lib/MemoryModel/LocationSet.cpp +1 -0
  403. package/lib/MemoryModel/SVFVariables.cpp +10 -1
  404. package/lib/MemoryModel/SymbolTableInfo.cpp +26 -0
  405. package/lib/SVF-FE/DCHG.cpp +8 -8
  406. package/lib/Util/ExeState.cpp +1 -0
  407. package/lib/Util/PTAStat.cpp +11 -3
  408. package/lib/Util/SVFUtil.cpp +3 -3
  409. package/lib/Util/ThreadAPI.cpp +12 -4
  410. package/package.json +1 -1
@@ -66,7 +66,7 @@ $(function() {
66
66
  <div class="title">LocationSet.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="LocationSet_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- LocationSet.h -- Location set of abstract object-----------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * @file: LocationSet.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * @author: yesen</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * @date: 26 Sep 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * LICENSE</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#ifndef LOCATIONSET_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define LOCATIONSET_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Util_2BasicTypes_8h.html">Util/BasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> * Location set represents a set of locations in a memory block with following offsets:</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> * { offset + \sum_{i=0}^N (stride_i * j_i) | 0 \leq j_i &lt; M_i }</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> * where N is the size of number-stride pair vector, M_i (stride_i) is i-th number (stride)</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> * in the number-stride pair vector.</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a32ddec529ccbf4ea6336e5fd765164d8"> 50</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f"> 52</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"> 54</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; };</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89"> 57</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;std::pair&lt;const Value*, const Type*&gt; &gt; <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba"> 60</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> o = 0) : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(o)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {}</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9"> 64</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9">LocationSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; ls)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>), <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9"> 69</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">~LocationSet</a>() {}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> <a class="code" href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">operator+ </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107"> 75</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; <a class="code" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107">operator= </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232"> 81</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; &amp;&amp; this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853"> 90</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f"> 94</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f">setFldIdx</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = idx;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c"> 98</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> OffsetValueVec&amp; <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">accumulateConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type) <span class="keyword">const</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">addOffsetValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* offsetValue, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8"> 116</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; RHS)<span class="keyword"> const</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword"> </span>{</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>().intersects(RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; std::string <a class="code" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">dump</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a> <a class="code" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; RHS);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd"> 132</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>; </div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30"> 133</a></span>&#160; OffsetValueVec <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>; </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html"> 138</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>&gt;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984"> 140</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">SVF::LocationSet</a> &amp;ls)<span class="keyword"> const</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;SVF::NodeID, SVF::NodeID&gt;</a>&gt; h;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; std::hash&lt;SVF::LocationSet::OffsetValueVec&gt; v;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> h(std::make_pair(ls.<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>(), v(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;};</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LOCATIONSET_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">SVF::LocationSet::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00049">LocationSet.cpp:49</a></div></div>
69
+ <a href="LocationSet_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- LocationSet.h -- Location set of abstract object-----------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * @file: LocationSet.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * @author: yesen</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * @date: 26 Sep 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * LICENSE</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#ifndef LOCATIONSET_H_</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#define LOCATIONSET_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Util_2BasicTypes_8h.html">Util/BasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> * Location set represents a set of locations in a memory block with following offsets:</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> * { offset + \sum_{i=0}^N (stride_i * j_i) | 0 \leq j_i &lt; M_i }</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> * where N is the size of number-stride pair vector, M_i (stride_i) is i-th number (stride)</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="comment"> * in the number-stride pair vector.</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html"> 48</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a32ddec529ccbf4ea6336e5fd765164d8"> 50</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f"> 52</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"> 54</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; };</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89"> 57</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;std::pair&lt;const Value*, const Type*&gt; &gt; <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba"> 60</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> o = 0) : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(o)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; {}</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9"> 64</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9">LocationSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; ls)</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>), <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9"> 69</a></span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">~LocationSet</a>() {}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> <a class="code" href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">operator+ </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs) <span class="keyword">const</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107"> 75</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; <a class="code" href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107">operator= </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232"> 81</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; &amp;&amp; this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> == rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853"> 90</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f"> 94</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f">setFldIdx</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> = idx;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c"> 98</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> OffsetValueVec&amp; <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">accumulateConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type) <span class="keyword">const</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">addOffsetValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* offsetValue, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8"> 116</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; RHS)<span class="keyword"> const</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword"> </span>{</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>().intersects(RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; std::string <a class="code" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">dump</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a> <a class="code" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>&amp; RHS);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd"> 132</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>; </div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30"> 133</a></span>&#160; OffsetValueVec <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>; </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;};</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html"> 138</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba">LocationSet</a>&gt;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;{</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984"> 140</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">SVF::LocationSet</a> &amp;ls)<span class="keyword"> const</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;SVF::NodeID, SVF::NodeID&gt;</a>&gt; h;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; std::hash&lt;SVF::LocationSet::OffsetValueVec&gt; v;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> h(std::make_pair(ls.<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>(), v(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;};</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* LOCATIONSET_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">SVF::LocationSet::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00050">LocationSet.cpp:50</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1LocationSet_html_a0e1cddc4228e310c95f68c661c7b94c8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">SVF::LocationSet::intersects</a></div><div class="ttdeci">bool intersects(const LocationSet &amp;RHS) const</div><div class="ttdoc">Return TRUE if we share any location in common with RHS. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00116">LocationSet.h:116</a></div></div>
71
71
  <div class="ttc" id="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4_html_a701401db0e876205424e9cc797fb5984"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html#a701401db0e876205424e9cc797fb5984">std::hash&lt; SVF::LocationSet &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::LocationSet &amp;ls) const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00140">LocationSet.h:140</a></div></div>
72
72
  <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00061">BasicTypes.h:61</a></div></div>
@@ -75,19 +75,19 @@ $(function() {
75
75
  <div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00055">SVFBasicTypes.h:55</a></div></div>
76
76
  <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="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1LocationSet_html_a5c2c1baa17a70b997824002e4c159cbd"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">s32_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00132">LocationSet.h:132</a></div></div>
78
- <div class="ttc" id="classSVF_1_1LocationSet_html_ad8e250859aa1cf6ce18c6c0b7bbb2710"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">s32_t accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset given OffsetValueVec. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00114">LocationSet.cpp:114</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ad8e250859aa1cf6ce18c6c0b7bbb2710"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ad8e250859aa1cf6ce18c6c0b7bbb2710">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">s32_t accumulateConstantOffset() const</div><div class="ttdoc">Return accumulated constant offset given OffsetValueVec. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00115">LocationSet.cpp:115</a></div></div>
79
79
  <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>
80
- <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#l00149">LocationSet.cpp:149</a></div></div>
80
+ <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#l00150">LocationSet.cpp:150</a></div></div>
81
81
  <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="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1LocationSet_html_a00ae12aee8018f1eb88f011e52762be9"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">SVF::LocationSet::~LocationSet</a></div><div class="ttdeci">~LocationSet()</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00069">LocationSet.h:69</a></div></div>
83
- <div class="ttc" id="classSVF_1_1LocationSet_html_aa2682a73f1ab2c32326fb4e0d5b3586b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">SVF::LocationSet::addOffsetValue</a></div><div class="ttdeci">bool addOffsetValue(const Value *offsetValue, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00042">LocationSet.cpp:42</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1LocationSet_html_aa2682a73f1ab2c32326fb4e0d5b3586b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#aa2682a73f1ab2c32326fb4e0d5b3586b">SVF::LocationSet::addOffsetValue</a></div><div class="ttdeci">bool addOffsetValue(const Value *offsetValue, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00043">LocationSet.cpp:43</a></div></div>
84
84
  <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>
85
85
  <div class="ttc" id="classSVF_1_1LocationSet_html_abe990543374ebd8c1b3ee0d37c83eb8f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abe990543374ebd8c1b3ee0d37c83eb8f">SVF::LocationSet::setFldIdx</a></div><div class="ttdeci">void setFldIdx(s32_t idx)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00094">LocationSet.h:94</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00133">LocationSet.h:133</a></div></div>
87
87
  <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>
88
- <div class="ttc" id="classSVF_1_1LocationSet_html_a67387c3b42fcc1bb3ee8fe85bda02ba8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">SVF::LocationSet::operator+</a></div><div class="ttdeci">LocationSet operator+(const LocationSet &amp;rhs) const</div><div class="ttdoc">Overload operators. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00156">LocationSet.cpp:156</a></div></div>
88
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a67387c3b42fcc1bb3ee8fe85bda02ba8"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a67387c3b42fcc1bb3ee8fe85bda02ba8">SVF::LocationSet::operator+</a></div><div class="ttdeci">LocationSet operator+(const LocationSet &amp;rhs) const</div><div class="ttdoc">Overload operators. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00157">LocationSet.cpp:157</a></div></div>
89
89
  <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>
90
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac66b56e1fa180be9b09d7bfe653ff311"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const Type *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>
90
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac66b56e1fa180be9b09d7bfe653ff311"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const Type *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#l00064">LocationSet.cpp:64</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1LocationSet_html_a1b141afb9a38d12423f66b2dfe6bf232"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232">SVF::LocationSet::operator==</a></div><div class="ttdeci">bool operator==(const LocationSet &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00081">LocationSet.h:81</a></div></div>
92
92
  <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>
93
93
  <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">SVF::LocationSet::LSRelation</a></div><div class="ttdeci">LSRelation</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00052">LocationSet.h:52</a></div></div>
@@ -99,11 +99,11 @@ $(function() {
99
99
  <div class="ttc" id="classSVF_1_1LocationSet_html_a15975ec54c93c39fb1ed59599e5ec107"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a15975ec54c93c39fb1ed59599e5ec107">SVF::LocationSet::operator=</a></div><div class="ttdeci">const LocationSet &amp; operator=(const LocationSet &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00075">LocationSet.h:75</a></div></div>
100
100
  <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>
101
101
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00068">BasicTypes.h:68</a></div></div>
102
- <div class="ttc" id="classSVF_1_1LocationSet_html_a53f1b2e417682a56d45dfb1f7d5ccd1c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">SVF::LocationSet::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00215">LocationSet.cpp:215</a></div></div>
103
- <div class="ttc" id="classSVF_1_1LocationSet_html_a4e839125b32c7cb3ad07fbec6f203c10"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">SVF::LocationSet::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const LocationSet &amp;LHS, const LocationSet &amp;RHS)</div><div class="ttdoc">Check relations of two location sets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00193">LocationSet.cpp:193</a></div></div>
102
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a53f1b2e417682a56d45dfb1f7d5ccd1c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">SVF::LocationSet::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00216">LocationSet.cpp:216</a></div></div>
103
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a4e839125b32c7cb3ad07fbec6f203c10"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">SVF::LocationSet::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const LocationSet &amp;LHS, const LocationSet &amp;RHS)</div><div class="ttdoc">Check relations of two location sets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00194">LocationSet.cpp:194</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec &amp; getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00098">LocationSet.h:98</a></div></div>
105
- <div class="ttc" id="classSVF_1_1LocationSet_html_a511e8324d88624013eed04e8c2a6cbc4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">SVF::LocationSet::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const LocationSet &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00169">LocationSet.cpp:169</a></div></div>
106
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00048">SymbolTableInfo.h:48</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a511e8324d88624013eed04e8c2a6cbc4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a511e8324d88624013eed04e8c2a6cbc4">SVF::LocationSet::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const LocationSet &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00170">LocationSet.cpp:170</a></div></div>
106
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00047">SymbolTableInfo.h:47</a></div></div>
107
107
  </div><!-- fragment --></div><!-- contents -->
108
108
  <!-- start footer part -->
109
109
  <hr class="footer"/><address class="footer"><small>
@@ -75,17 +75,17 @@ $(function() {
75
75
  <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
76
76
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
78
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00134">BasicTypes.h:134</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00132">BasicTypes.h:132</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a4245d946dd694b59b5c8ef30b08cb1dd"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4245d946dd694b59b5c8ef30b08cb1dd">SVF::LockAnalysis::isInSameCSSpan</a></div><div class="ttdeci">bool isInSameCSSpan(const Instruction *i1, const Instruction *i2) const</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00697">LockAnalysis.cpp:697</a></div></div>
80
- <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00107">BasicTypes.h:107</a></div></div>
80
+ <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00105">BasicTypes.h:105</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a842ddef4d1cb9c45555d949375627a48"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a842ddef4d1cb9c45555d949375627a48">SVF::LockAnalysis::isProtectedByCommonCILock</a></div><div class="ttdeci">bool isProtectedByCommonCILock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00583">LockAnalysis.cpp:583</a></div></div>
82
82
  <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1Options_html_a78b3b44f2c0dc94dc1363ca57ee76d66"><div class="ttname"><a href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">SVF::Options::LockValid</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; LockValid</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00184">Options.h:184</a></div></div>
84
- <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00217">BasicTypes.h:217</a></div></div>
84
+ <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00215">BasicTypes.h:215</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_ad1516b6cb1dbd06b8dff04ae3c944621"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#ad1516b6cb1dbd06b8dff04ae3c944621">SVF::LockAnalysis::analyze</a></div><div class="ttdeci">void analyze()</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00041">LockAnalysis.cpp:41</a></div></div>
86
86
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1TCT_html_afb579a5bdcc0a1c6b075bb9aae36c237"><div class="ttname"><a href="classSVF_1_1TCT.html#afb579a5bdcc0a1c6b075bb9aae36c237">SVF::TCT::PTACGNodeSet</a></div><div class="ttdeci">Set&lt; const PTACallGraphNode * &gt; PTACGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00125">TCT.h:125</a></div></div>
88
- <div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a160997c1a0fb1000445d04b89d9c1323"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a160997c1a0fb1000445d04b89d9c1323">inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00102">BasicTypes.h:102</a></div></div>
88
+ <div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a160997c1a0fb1000445d04b89d9c1323"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a160997c1a0fb1000445d04b89d9c1323">inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
89
89
  <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
90
90
  <div class="ttc" id="classSVF_1_1CxtProc_html_a254c612f06a3f82b57b1c5a0e52c012f"><div class="ttname"><a href="classSVF_1_1CxtProc.html#a254c612f06a3f82b57b1c5a0e52c012f">SVF::CxtProc::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdoc">Dump CxtProc. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00377">CxtStmt.h:377</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1RaceValidator_html_ab95520388bafe1efae63196400350690"><div class="ttname"><a href="classSVF_1_1RaceValidator.html#ab95520388bafe1efae63196400350690">SVF::RaceValidator::protectedByCommonLocks</a></div><div class="ttdeci">bool protectedByCommonLocks(const Instruction *I1, const Instruction *I2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00031">LockAnalysis.cpp:31</a></div></div>
@@ -140,13 +140,13 @@ $(function() {
140
140
  <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00008">CFLGrammar.txt:8</a></div></div>
141
141
  <div class="ttc" id="classSVF_1_1CxtStmt_html_a3ce19b8f2de2e199ed4165dbe9d21f28"><div class="ttname"><a href="classSVF_1_1CxtStmt.html#a3ce19b8f2de2e199ed4165dbe9d21f28">SVF::CxtStmt::getContext</a></div><div class="ttdeci">const CallStrCxt &amp; getContext() const</div><div class="ttdoc">Return current context. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00057">CxtStmt.h:57</a></div></div>
142
142
  <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>
143
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00150">BasicTypes.h:150</a></div></div>
143
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00148">BasicTypes.h:148</a></div></div>
144
144
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00217">SVFUtil.h:217</a></div></div>
145
145
  <div class="ttc" id="classSVF_1_1RaceValidator_html"><div class="ttname"><a href="classSVF_1_1RaceValidator.html">SVF::RaceValidator</a></div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00025">LockAnalysis.cpp:25</a></div></div>
146
146
  <div class="ttc" id="classSVF_1_1CxtProc_html_a99b0f68b4cbd733f91eea33aa3e64eb7"><div class="ttname"><a href="classSVF_1_1CxtProc.html#a99b0f68b4cbd733f91eea33aa3e64eb7">SVF::CxtProc::getContext</a></div><div class="ttdeci">const CallStrCxt &amp; getContext() const</div><div class="ttdoc">Return current context. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00330">CxtStmt.h:330</a></div></div>
147
147
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
148
148
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a711760ebaed0437176f4f9d314e9929c"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a711760ebaed0437176f4f9d314e9929c">SVF::LockAnalysis::handleIntra</a></div><div class="ttdeci">void handleIntra(const CxtStmt &amp;cts)</div><div class="ttdoc">Handle intra. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00500">LockAnalysis.cpp:500</a></div></div>
149
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00209">BasicTypes.h:209</a></div></div>
149
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00207">BasicTypes.h:207</a></div></div>
150
150
  <div class="ttc" id="MTA_8h_html"><div class="ttname"><a href="MTA_8h.html">MTA.h</a></div></div>
151
151
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
152
152
  <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#l00329">LockAnalysis.cpp:329</a></div></div>
@@ -181,7 +181,7 @@ $(function() {
181
181
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
182
182
  <div class="ttc" id="classSVF_1_1TCT_html"><div class="ttname"><a href="classSVF_1_1TCT.html">SVF::TCT</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00116">TCT.h:116</a></div></div>
183
183
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a711760ebaed0437176f4f9d314e9929c"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a711760ebaed0437176f4f9d314e9929c">SVF::LockAnalysis::handleIntra</a></div><div class="ttdeci">void handleIntra(const CxtStmt &amp;cts)</div><div class="ttdoc">Handle intra. </div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00500">LockAnalysis.cpp:500</a></div></div>
184
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00209">BasicTypes.h:209</a></div></div>
184
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00207">BasicTypes.h:207</a></div></div>
185
185
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
186
186
  <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#l00492">LockAnalysis.h:492</a></div></div>
187
187
  <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#l00035">LockAnalysis.h:35</a></div></div>