svf-tools 1.0.459 → 1.0.462

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 (377) 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 +5 -5
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +10 -10
  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/CHGBuilder_8cpp_source.html +12 -12
  9. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  10. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  11. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  12. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  13. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +13 -13
  14. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
  17. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  18. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  20. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +17 -17
  21. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  22. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +4 -4
  23. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +10 -10
  27. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  28. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  29. package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -0
  30. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +26 -25
  31. package/SVF-doxygen/html/html/ExeState_8h_source.html +13 -13
  32. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  33. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +9 -9
  39. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  40. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +6 -6
  41. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +6 -6
  45. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  47. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -6
  50. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +7 -7
  51. package/SVF-doxygen/html/html/IRGraph_8h_source.html +21 -21
  52. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  54. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +9 -9
  55. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -6
  56. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
  59. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +14 -13
  60. package/SVF-doxygen/html/html/LocationSet_8h_source.html +10 -10
  61. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
  62. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
  64. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  66. package/SVF-doxygen/html/html/MHP_8cpp_source.html +46 -46
  67. package/SVF-doxygen/html/html/MHP_8h.html +1 -0
  68. package/SVF-doxygen/html/html/MHP_8h_source.html +102 -101
  69. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  71. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  72. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +11 -11
  73. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +8 -8
  74. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +9 -9
  75. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  76. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  77. package/SVF-doxygen/html/html/MTA_8h_source.html +3 -3
  78. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  79. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +14 -14
  81. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  83. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  84. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  85. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/html/PCG_8cpp_source.html +4 -4
  87. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  89. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +18 -18
  91. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  92. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  93. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  94. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +4 -4
  95. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +19 -19
  96. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +11 -11
  97. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +68 -50
  98. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +51 -50
  99. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  100. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  102. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +35 -41
  103. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  104. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
  107. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  108. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +53 -46
  109. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +39 -38
  110. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +39 -41
  111. package/SVF-doxygen/html/html/SVFIR_8h_source.html +63 -64
  112. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  113. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  114. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  115. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  117. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -3
  118. package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -0
  119. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +35 -32
  120. package/SVF-doxygen/html/html/SVFVariables_8h.html +0 -1
  121. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +140 -142
  122. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
  123. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  124. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +9 -9
  125. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  126. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  127. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +50 -50
  128. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  129. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +1 -0
  130. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +95 -91
  131. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -1
  132. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +141 -143
  133. package/SVF-doxygen/html/html/TCT_8cpp.html +1 -0
  134. package/SVF-doxygen/html/html/TCT_8cpp_source.html +41 -40
  135. package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
  136. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  137. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  138. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
  139. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  140. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  141. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +24 -24
  142. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +4 -4
  143. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
  144. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +61 -62
  145. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  146. package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
  147. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  148. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  149. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  150. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  151. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +4 -4
  156. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +12 -12
  157. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  158. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  160. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +6 -6
  161. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +14 -14
  164. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  165. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  166. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
  168. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  169. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  170. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +20 -22
  171. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +16 -20
  172. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  173. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +15 -15
  175. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +16 -16
  177. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +16 -16
  179. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -2
  181. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +11 -11
  183. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +50 -50
  184. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +5 -5
  186. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +4 -4
  188. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +20 -20
  191. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +18 -18
  193. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +40 -40
  194. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +22 -22
  196. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  198. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +7 -7
  199. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +11 -11
  200. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +12 -12
  201. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +183 -183
  202. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +45 -45
  208. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  209. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +29 -29
  211. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +9 -9
  213. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -10
  214. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +21 -21
  215. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +31 -34
  216. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +12 -100
  217. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +17 -19
  221. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +11 -15
  222. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  224. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  225. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
  226. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +27 -27
  227. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
  228. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
  229. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +177 -177
  230. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +18 -18
  231. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +8 -8
  233. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +22 -22
  234. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
  235. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
  236. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  237. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  238. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  241. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +35 -35
  243. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +9 -9
  246. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +4 -4
  247. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  248. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +19 -19
  250. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +9 -9
  251. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +37 -37
  252. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +3 -3
  253. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +19 -21
  254. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +17 -21
  255. package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +19 -19
  257. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  258. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +27 -27
  259. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
  260. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  261. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
  262. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  263. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +94 -95
  264. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +176 -217
  265. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +56 -55
  266. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +136 -92
  267. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  268. package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +98 -106
  270. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  271. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +10 -10
  272. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  274. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +78 -78
  275. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +2 -2
  276. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +224 -240
  277. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +88 -88
  278. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +7 -7
  280. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +17 -19
  282. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +12 -16
  283. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +40 -40
  285. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  286. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +13 -13
  287. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  288. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +24 -24
  290. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +19 -19
  292. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -5
  293. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  294. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +2 -2
  296. package/SVF-doxygen/html/html/functions_a.html +5 -8
  297. package/SVF-doxygen/html/html/functions_c.html +9 -5
  298. package/SVF-doxygen/html/html/functions_f.html +6 -4
  299. package/SVF-doxygen/html/html/functions_func.html +10 -13
  300. package/SVF-doxygen/html/html/functions_func_g.html +7 -8
  301. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  302. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  303. package/SVF-doxygen/html/html/functions_g.html +7 -8
  304. package/SVF-doxygen/html/html/functions_h.html +1 -1
  305. package/SVF-doxygen/html/html/functions_i.html +1 -1
  306. package/SVF-doxygen/html/html/functions_l.html +3 -3
  307. package/SVF-doxygen/html/html/functions_m.html +1 -4
  308. package/SVF-doxygen/html/html/functions_n.html +3 -3
  309. package/SVF-doxygen/html/html/functions_o.html +17 -17
  310. package/SVF-doxygen/html/html/functions_p.html +7 -7
  311. package/SVF-doxygen/html/html/functions_r.html +3 -3
  312. package/SVF-doxygen/html/html/functions_s.html +3 -3
  313. package/SVF-doxygen/html/html/functions_t.html +7 -7
  314. package/SVF-doxygen/html/html/functions_v.html +6 -6
  315. package/SVF-doxygen/html/html/functions_vars_m.html +0 -3
  316. package/SVF-doxygen/html/html/functions_w.html +10 -6
  317. package/SVF-doxygen/html/html/globals_c.html +103 -100
  318. package/SVF-doxygen/html/html/globals_s.html +9 -7
  319. package/SVF-doxygen/html/html/globals_type.html +3 -0
  320. package/SVF-doxygen/html/html/namespaceSVF.html +26 -44
  321. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +14 -14
  322. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +23 -23
  323. package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
  324. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -3
  325. package/SVF-doxygen/html/html/search/all_1.js +0 -1
  326. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  327. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  328. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  329. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  330. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  331. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  332. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  333. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  334. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  335. package/SVF-doxygen/html/html/search/all_7.js +3 -3
  336. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  337. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  338. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  339. package/SVF-doxygen/html/html/search/all_d.js +1 -2
  340. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  341. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  342. package/SVF-doxygen/html/html/search/functions_0.js +0 -1
  343. package/SVF-doxygen/html/html/search/functions_6.js +3 -3
  344. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  345. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  346. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  347. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  349. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  350. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  351. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  352. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -3
  353. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  354. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -3
  355. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  356. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  357. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
  358. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  359. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  360. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  361. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  362. package/include/Graphs/SVFGEdge.h +0 -12
  363. package/include/MTA/MHP.h +1 -0
  364. package/include/MemoryModel/SVFIR.h +0 -1
  365. package/include/MemoryModel/SVFVariables.h +1 -8
  366. package/include/MemoryModel/SymbolTableInfo.h +2 -22
  367. package/include/SVF-FE/BasicTypes.h +1 -0
  368. package/include/SVF-FE/SVFIRBuilder.h +1 -0
  369. package/include/Util/BasicTypes.h +0 -1
  370. package/lib/MTA/TCT.cpp +1 -0
  371. package/lib/MemoryModel/LocationSet.cpp +1 -0
  372. package/lib/MemoryModel/SVFIR.cpp +4 -28
  373. package/lib/MemoryModel/SVFVariables.cpp +10 -1
  374. package/lib/MemoryModel/SymbolTableInfo.cpp +26 -0
  375. package/lib/SVF-FE/SVFIRBuilder.cpp +25 -2
  376. package/lib/Util/ExeState.cpp +1 -0
  377. package/package.json +1 -1
@@ -351,19 +351,19 @@ Friends</h2></td></tr>
351
351
  <p>Return accumulated constant offset</p>
352
352
  <p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector: [(value1,type1), (value2,type2), (value3,type3)] totalConstOffset = flattenOffset(value1,type1) * flattenOffset(type2,type2) + flattenOffset(type3,type3) For a pointer type (e.g., t1 is PointerType), we will retrieve the pointee type and times the offset, i.e., getElementNum(t1) X off1%5 = getelementptr inbounds struct.Student, struct.Student* %4, i64 1 value1: i64 1 type1: struct.Student* accumulateConstantOffset = 32 %6 = getelementptr inbounds struct.Student, struct.Student* %5, i32 0, i32 1 value1: i32 0 type1: struct.Student* value2: i32 1 type2: struct.Student = type { struct.inner, [10 x [3 x i8]] } accumulateConstantOffset = 2 %7 = getelementptr inbounds [10 x [3 x i8]], [10 x [3 x i8]]* %6, i64 0, i64 3 value1: i64 0 type1: [10 x [3 x i8]]* value2: i64 3 type2: [10 x [3 x i8]] accumulateConstantOffset = 9 %8 = getelementptr inbounds [3 x i8], [3 x i8]* %7, i64 0, i64 2 value1: i64 0 type1: [3 x i8]* value2: i64 2 type2: [3 x i8] accumulateConstantOffset = 2 </p>
353
353
 
354
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00114">114</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
355
- <div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.empty())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalConstOffset = 0;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.size() - 1; i &gt;= 0; i--)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].first;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].second;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *op = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(value);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span>(type==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; totalConstOffset += op-&gt;getSExtValue();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; }</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; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; totalConstOffset += op-&gt;getSExtValue() * <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offset = op-&gt;getSExtValue();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">getFlattenedElemIdx</a>(type, offset);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; totalConstOffset += flattenOffset;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;}</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>
354
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00115">115</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
355
+ <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.empty())</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalConstOffset = 0;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.size() - 1; i &gt;= 0; i--)</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].first;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].second;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *op = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(value);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">if</span>(type==<span class="keyword">nullptr</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"> 132</span>&#160; totalConstOffset += op-&gt;getSExtValue();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">continue</span>;</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="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; totalConstOffset += op-&gt;getSExtValue() * <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span></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"> 140</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offset = op-&gt;getSExtValue();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">getFlattenedElemIdx</a>(type, offset);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; totalConstOffset += flattenOffset;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;}</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>
356
356
  <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>
357
357
  <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>
358
358
  <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
359
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8fc42c2b02317621d6aeb3c5f52d3ee8"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const Type *T, u32_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00403">SymbolTableInfo.cpp:403</a></div></div>
359
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8fc42c2b02317621d6aeb3c5f52d3ee8"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const Type *T, u32_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00404">SymbolTableInfo.cpp:404</a></div></div>
360
360
  <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>
361
- <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00096">BasicTypes.h:96</a></div></div>
361
+ <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
362
362
  <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>
363
363
  <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>
364
364
  <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>
365
- <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>
366
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00107">SymbolTableInfo.cpp:107</a></div></div>
365
+ <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>
366
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00108">SymbolTableInfo.cpp:108</a></div></div>
367
367
  <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>
368
368
  <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>
369
369
  </div><!-- fragment -->
@@ -396,8 +396,8 @@ Friends</h2></td></tr>
396
396
  </div><div class="memdoc">
397
397
  <p>Add offset value to vector offsetValues </p>
398
398
 
399
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00042">42</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
400
- <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.push_back(std::make_pair(offsetVal,type));</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;}</div><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>
399
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00043">43</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
400
+ <div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.push_back(std::make_pair(offsetVal,type));</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;}</div><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>
401
401
  </div><!-- fragment -->
402
402
  </div>
403
403
  </div>
@@ -437,9 +437,9 @@ Friends</h2></td></tr>
437
437
 
438
438
  <p>Check relations of two location sets. </p>
439
439
 
440
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00193">193</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
441
- <div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">if</span> (lhsLocations.intersects(rhsLocations))</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.contains(rhsLocations))</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.contains(lhsLocations))</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; }</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
442
- <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>
440
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00194">194</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
441
+ <div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (lhsLocations.intersects(rhsLocations))</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.contains(rhsLocations))</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.contains(lhsLocations))</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00054">LocationSet.h:54</a></div></div>
442
+ <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>
443
443
  <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>
444
444
  <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>
445
445
  <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>
@@ -474,8 +474,8 @@ Friends</h2></td></tr>
474
474
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
475
475
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
476
476
 
477
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00149">149</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
478
- <div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;{</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; result.set(<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>());</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
477
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00150">150</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
478
+ <div class="fragment"><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;{</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; result.set(<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>());</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
479
479
  <div class="ttc" id="cuddInt_8c_html_a8b2e13c78efca330f06b6ddcd7464b41"><div class="ttname"><a href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a></div><div class="ttdeci">static int result</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l07466">cuddInt.c:7466</a></div></div>
480
480
  <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>
481
481
  </div><!-- fragment -->
@@ -498,8 +498,8 @@ Friends</h2></td></tr>
498
498
 
499
499
  <p>Dump location set. </p>
500
500
 
501
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00215">215</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
502
- <div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;{</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; std::string str;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;LocationSet\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; vec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; OffsetValueVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; OffsetValueVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (value: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(it-&gt;first) &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; const Value *, const Type * &gt; &gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
501
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00216">216</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
502
+ <div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; std::string str;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;LocationSet\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; vec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; OffsetValueVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; OffsetValueVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (value: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(it-&gt;first) &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; }</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; const Value *, const Type * &gt; &gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
503
503
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
504
504
  <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>
505
505
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00392">SVFUtil.cpp:392</a></div></div>
@@ -527,15 +527,15 @@ Friends</h2></td></tr>
527
527
  <p>Return element number of a type (1) StructType or Array, return flatterned number elements. (2) PointerType, return the element number of the pointee (3) non-pointer SingleValueType, return 1 </p>
528
528
  <p>This is a pointer arithmic </p>
529
529
 
530
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00063">63</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
531
- <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ArrayType&gt;(type) || SVFUtil::isa&lt;StructType&gt;(type))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">getNumOfFlattenElements</a>(type);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type-&gt;isSingleValueType())</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;GepIter Type&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;What other types for this gep?&quot;</span>);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;}</div><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>
530
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00064">64</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
531
+ <div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ArrayType&gt;(type) || SVFUtil::isa&lt;StructType&gt;(type))</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"> 69</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">getNumOfFlattenElements</a>(type);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (type-&gt;isSingleValueType())</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">else</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"> 81</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;GepIter Type&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">type2String</a>(type) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;What other types for this gep?&quot;</span>);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;}</div><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>
532
532
  <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
533
533
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a817a63e8330530cb18e077556f7ce518"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a817a63e8330530cb18e077556f7ce518">SVF::SVFUtil::type2String</a></div><div class="ttdeci">const std::string type2String(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00442">LLVMUtil.cpp:442</a></div></div>
534
- <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>
534
+ <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>
535
535
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
536
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00107">SymbolTableInfo.cpp:107</a></div></div>
536
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00108">SymbolTableInfo.cpp:108</a></div></div>
537
537
  <div class="ttc" id="util_8h_html_a23c00958edf66c39625a0d535dee57b7"><div class="ttname"><a href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a></div><div class="ttdeci">VOID_OR_INT abort()</div></div>
538
- <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec579894eed558ea89740b68360187aa"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const Type *T)</div><div class="ttdoc">Number of flattenned elements of an array or struct. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00394">SymbolTableInfo.cpp:394</a></div></div>
538
+ <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec579894eed558ea89740b68360187aa"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const Type *T)</div><div class="ttdoc">Number of flattenned elements of an array or struct. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00395">SymbolTableInfo.cpp:395</a></div></div>
539
539
  </div><!-- fragment -->
540
540
  </div>
541
541
  </div>
@@ -594,7 +594,7 @@ Friends</h2></td></tr>
594
594
  <p>Return TRUE if we share any location in common with RHS. </p>
595
595
 
596
596
  <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00116">116</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
597
- <div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().intersects(RHS.computeAllLocations());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00149">LocationSet.cpp:149</a></div></div>
597
+ <div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().intersects(RHS.computeAllLocations());</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00150">LocationSet.cpp:150</a></div></div>
598
598
  </div><!-- fragment -->
599
599
  </div>
600
600
  </div>
@@ -616,8 +616,8 @@ Friends</h2></td></tr>
616
616
  <p>Return TRUE if this is a constant location set. </p>
617
617
  <p>Return true if all offset values are constants. </p>
618
618
 
619
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00049">49</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
620
- <div class="fragment"><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;{</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it : <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ConstantInt&gt;(it.first) == <span class="keyword">false</span>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div><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>
619
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00050">50</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
620
+ <div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it : <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</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"> 54</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ConstantInt&gt;(it.first) == <span class="keyword">false</span>)</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div><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>
621
621
  </div><!-- fragment -->
622
622
  </div>
623
623
  </div>
@@ -639,8 +639,8 @@ Friends</h2></td></tr>
639
639
 
640
640
  <p>Overload operators. </p>
641
641
 
642
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00156">156</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
643
- <div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;{</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> ls(rhs);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; ls.fldIdx += <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; OffsetValueVec::const_iterator it = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().begin();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; OffsetValueVec::const_iterator eit = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().end();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; ls.addOffsetValue(it-&gt;first, it-&gt;second);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> ls;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
642
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00157">157</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
643
+ <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> ls(rhs);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; ls.fldIdx += <a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; OffsetValueVec::const_iterator it = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().begin();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; OffsetValueVec::const_iterator eit = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().end();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; ls.addOffsetValue(it-&gt;first, it-&gt;second);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> ls;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
644
644
  <div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00048">LocationSet.h:48</a></div></div>
645
645
  <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>
646
646
  </div><!-- fragment -->
@@ -662,8 +662,8 @@ Friends</h2></td></tr>
662
662
  </table>
663
663
  </div><div class="memdoc">
664
664
 
665
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00169">169</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
666
- <div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;{</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">if</span> (<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="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>);</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; pairVec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; OffsetValueVec::const_iterator it = pairVec.begin();</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; OffsetValueVec::const_iterator rhsIt = rhsPairVec.begin();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; const Value *, const Type * &gt; &gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
665
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00170">170</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
666
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;{</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> (<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="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd">fldIdx</a>);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; pairVec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; OffsetValueVec::const_iterator it = pairVec.begin();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; OffsetValueVec::const_iterator rhsIt = rhsPairVec.begin();</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9bb7e08f7cfb2859d25b0e68e21fec89"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; std::pair&lt; const Value *, const Type * &gt; &gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00057">LocationSet.h:57</a></div></div>
667
667
  <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>
668
668
  <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>
669
669
  </div><!-- fragment -->