svf-tools 1.0.795 → 1.0.796

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 (448) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +167 -161
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +51 -51
  3. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/Andersen_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
  9. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +5 -5
  13. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  14. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
  16. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  18. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
  20. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
  23. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +5 -5
  25. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +10 -10
  30. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +40 -27
  31. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
  33. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  34. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
  36. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
  38. package/SVF-doxygen/html/MemRegion_8cpp_source.html +7 -7
  39. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  40. package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
  45. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  46. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  47. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +6 -6
  49. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +6 -6
  50. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +3 -3
  55. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +773 -777
  56. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
  57. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
  58. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/SVFStatements_8h_source.html +5 -5
  62. package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
  63. package/SVF-doxygen/html/SVFType_8cpp_source.html +70 -61
  64. package/SVF-doxygen/html/SVFType_8h.html +23 -23
  65. package/SVF-doxygen/html/SVFType_8h_source.html +401 -378
  66. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  67. package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  69. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
  73. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
  74. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
  76. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  77. package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
  78. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
  79. package/SVF-doxygen/html/VFG_8cpp_source.html +2 -2
  80. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  81. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
  84. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +167 -161
  86. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
  90. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  91. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
  92. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  93. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  96. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  100. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
  102. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  105. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
  107. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
  108. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  112. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  113. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  115. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
  116. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  118. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +5 -5
  119. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
  120. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  121. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  122. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  123. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  124. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +9 -10
  125. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  126. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
  128. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  129. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  130. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  133. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  135. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +10 -10
  136. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
  137. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
  139. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
  141. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +6 -6
  142. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  143. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  144. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  145. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  146. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
  148. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
  149. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  150. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  152. package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
  153. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  155. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  156. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  157. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  158. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  159. package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +11 -7
  160. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +65 -27
  161. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +30 -27
  163. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +28 -22
  164. package/SVF-doxygen/html/classSVF_1_1SVFG.html +2 -2
  165. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  166. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  167. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  168. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +2 -2
  169. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +2 -2
  170. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +749 -769
  171. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +6 -6
  172. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +30 -27
  173. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +32 -26
  174. package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +32 -29
  175. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +33 -27
  176. package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +30 -27
  177. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +28 -22
  178. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  179. package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +32 -29
  180. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +33 -27
  181. package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +27 -24
  182. package/SVF-doxygen/html/classSVF_1_1SVFType.html +120 -23
  183. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  184. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  185. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +3 -3
  186. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  187. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  188. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
  189. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  190. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  191. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  192. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
  193. package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
  194. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  195. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  196. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  197. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  198. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  199. package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
  200. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  201. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  202. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  203. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
  204. package/SVF-doxygen/html/functions_a.html +1 -1
  205. package/SVF-doxygen/html/functions_c.html +1 -1
  206. package/SVF-doxygen/html/functions_func.html +1 -1
  207. package/SVF-doxygen/html/functions_func_c.html +1 -1
  208. package/SVF-doxygen/html/functions_func_g.html +24 -18
  209. package/SVF-doxygen/html/functions_func_i.html +17 -11
  210. package/SVF-doxygen/html/functions_g.html +25 -19
  211. package/SVF-doxygen/html/functions_i.html +16 -10
  212. package/SVF-doxygen/html/functions_p.html +19 -23
  213. package/SVF-doxygen/html/functions_r.html +5 -5
  214. package/SVF-doxygen/html/functions_s.html +14 -12
  215. package/SVF-doxygen/html/functions_t.html +7 -7
  216. package/SVF-doxygen/html/functions_v.html +3 -3
  217. package/SVF-doxygen/html/globals_func_t.html +3 -0
  218. package/SVF-doxygen/html/globals_t.html +3 -0
  219. package/SVF-doxygen/html/namespaceSVF.html +45 -36
  220. package/SVF-doxygen/html/namespacemembers.html +1 -1
  221. package/SVF-doxygen/html/namespacemembers_func.html +1 -1
  222. package/SVF-doxygen/html/search/all_0.js +1 -1
  223. package/SVF-doxygen/html/search/all_1.js +1 -1
  224. package/SVF-doxygen/html/search/all_10.js +324 -324
  225. package/SVF-doxygen/html/search/all_11.js +224 -224
  226. package/SVF-doxygen/html/search/all_12.js +541 -541
  227. package/SVF-doxygen/html/search/all_13.js +191 -190
  228. package/SVF-doxygen/html/search/all_14.js +67 -67
  229. package/SVF-doxygen/html/search/all_15.js +170 -170
  230. package/SVF-doxygen/html/search/all_16.js +63 -63
  231. package/SVF-doxygen/html/search/all_17.js +1 -1
  232. package/SVF-doxygen/html/search/all_18.js +1 -1
  233. package/SVF-doxygen/html/search/all_19.js +11 -11
  234. package/SVF-doxygen/html/search/all_1a.js +172 -172
  235. package/SVF-doxygen/html/search/all_3.js +1 -1
  236. package/SVF-doxygen/html/search/all_7.js +457 -455
  237. package/SVF-doxygen/html/search/all_8.js +194 -194
  238. package/SVF-doxygen/html/search/all_9.js +610 -608
  239. package/SVF-doxygen/html/search/all_a.js +46 -46
  240. package/SVF-doxygen/html/search/all_b.js +26 -26
  241. package/SVF-doxygen/html/search/all_c.js +116 -116
  242. package/SVF-doxygen/html/search/all_d.js +196 -196
  243. package/SVF-doxygen/html/search/all_e.js +207 -207
  244. package/SVF-doxygen/html/search/all_f.js +116 -116
  245. package/SVF-doxygen/html/search/classes_0.js +26 -26
  246. package/SVF-doxygen/html/search/classes_1.js +9 -9
  247. package/SVF-doxygen/html/search/classes_10.js +73 -73
  248. package/SVF-doxygen/html/search/classes_11.js +15 -15
  249. package/SVF-doxygen/html/search/classes_12.js +2 -2
  250. package/SVF-doxygen/html/search/classes_13.js +10 -10
  251. package/SVF-doxygen/html/search/classes_14.js +14 -14
  252. package/SVF-doxygen/html/search/classes_15.js +1 -1
  253. package/SVF-doxygen/html/search/classes_2.js +80 -80
  254. package/SVF-doxygen/html/search/classes_3.js +37 -37
  255. package/SVF-doxygen/html/search/classes_4.js +9 -9
  256. package/SVF-doxygen/html/search/classes_5.js +28 -28
  257. package/SVF-doxygen/html/search/classes_6.js +104 -104
  258. package/SVF-doxygen/html/search/classes_7.js +33 -33
  259. package/SVF-doxygen/html/search/classes_8.js +56 -56
  260. package/SVF-doxygen/html/search/classes_9.js +1 -1
  261. package/SVF-doxygen/html/search/classes_a.js +12 -12
  262. package/SVF-doxygen/html/search/classes_b.js +29 -29
  263. package/SVF-doxygen/html/search/classes_c.js +6 -6
  264. package/SVF-doxygen/html/search/classes_d.js +18 -18
  265. package/SVF-doxygen/html/search/classes_e.js +36 -36
  266. package/SVF-doxygen/html/search/classes_f.js +25 -25
  267. package/SVF-doxygen/html/search/defines_0.js +3 -3
  268. package/SVF-doxygen/html/search/defines_1.js +2 -2
  269. package/SVF-doxygen/html/search/defines_2.js +30 -30
  270. package/SVF-doxygen/html/search/defines_3.js +21 -21
  271. package/SVF-doxygen/html/search/defines_4.js +2 -2
  272. package/SVF-doxygen/html/search/defines_5.js +4 -4
  273. package/SVF-doxygen/html/search/defines_6.js +2 -2
  274. package/SVF-doxygen/html/search/defines_7.js +5 -5
  275. package/SVF-doxygen/html/search/defines_8.js +11 -11
  276. package/SVF-doxygen/html/search/defines_9.js +9 -9
  277. package/SVF-doxygen/html/search/defines_a.js +2 -2
  278. package/SVF-doxygen/html/search/defines_b.js +1 -1
  279. package/SVF-doxygen/html/search/defines_c.js +3 -3
  280. package/SVF-doxygen/html/search/defines_d.js +2 -2
  281. package/SVF-doxygen/html/search/defines_e.js +7 -7
  282. package/SVF-doxygen/html/search/defines_f.js +3 -3
  283. package/SVF-doxygen/html/search/enums_0.js +3 -3
  284. package/SVF-doxygen/html/search/enums_1.js +2 -2
  285. package/SVF-doxygen/html/search/enums_10.js +1 -1
  286. package/SVF-doxygen/html/search/enums_11.js +1 -1
  287. package/SVF-doxygen/html/search/enums_2.js +8 -8
  288. package/SVF-doxygen/html/search/enums_3.js +1 -1
  289. package/SVF-doxygen/html/search/enums_4.js +3 -3
  290. package/SVF-doxygen/html/search/enums_5.js +1 -1
  291. package/SVF-doxygen/html/search/enums_6.js +2 -2
  292. package/SVF-doxygen/html/search/enums_7.js +2 -2
  293. package/SVF-doxygen/html/search/enums_8.js +4 -4
  294. package/SVF-doxygen/html/search/enums_9.js +1 -1
  295. package/SVF-doxygen/html/search/enums_a.js +1 -1
  296. package/SVF-doxygen/html/search/enums_b.js +7 -7
  297. package/SVF-doxygen/html/search/enums_c.js +1 -1
  298. package/SVF-doxygen/html/search/enums_d.js +4 -4
  299. package/SVF-doxygen/html/search/enums_e.js +2 -2
  300. package/SVF-doxygen/html/search/enums_f.js +4 -4
  301. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  302. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  303. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  304. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  305. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  306. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  307. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  308. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  309. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  310. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  311. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  312. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  313. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  314. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  315. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  316. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  317. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  318. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  319. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  320. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  321. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  322. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  323. package/SVF-doxygen/html/search/files_0.js +13 -13
  324. package/SVF-doxygen/html/search/files_1.js +7 -7
  325. package/SVF-doxygen/html/search/files_10.js +8 -8
  326. package/SVF-doxygen/html/search/files_11.js +8 -8
  327. package/SVF-doxygen/html/search/files_12.js +2 -2
  328. package/SVF-doxygen/html/search/files_2.js +55 -55
  329. package/SVF-doxygen/html/search/files_3.js +14 -14
  330. package/SVF-doxygen/html/search/files_4.js +5 -5
  331. package/SVF-doxygen/html/search/files_5.js +13 -13
  332. package/SVF-doxygen/html/search/files_6.js +9 -9
  333. package/SVF-doxygen/html/search/files_7.js +14 -14
  334. package/SVF-doxygen/html/search/files_8.js +13 -13
  335. package/SVF-doxygen/html/search/files_9.js +18 -18
  336. package/SVF-doxygen/html/search/files_a.js +3 -3
  337. package/SVF-doxygen/html/search/files_b.js +2 -2
  338. package/SVF-doxygen/html/search/files_c.js +20 -20
  339. package/SVF-doxygen/html/search/files_d.js +4 -4
  340. package/SVF-doxygen/html/search/files_e.js +62 -62
  341. package/SVF-doxygen/html/search/files_f.js +8 -8
  342. package/SVF-doxygen/html/search/functions_0.js +12 -12
  343. package/SVF-doxygen/html/search/functions_1.js +359 -359
  344. package/SVF-doxygen/html/search/functions_10.js +140 -140
  345. package/SVF-doxygen/html/search/functions_11.js +138 -138
  346. package/SVF-doxygen/html/search/functions_12.js +276 -276
  347. package/SVF-doxygen/html/search/functions_13.js +59 -58
  348. package/SVF-doxygen/html/search/functions_14.js +39 -39
  349. package/SVF-doxygen/html/search/functions_15.js +71 -71
  350. package/SVF-doxygen/html/search/functions_16.js +32 -32
  351. package/SVF-doxygen/html/search/functions_17.js +3 -3
  352. package/SVF-doxygen/html/search/functions_18.js +172 -172
  353. package/SVF-doxygen/html/search/functions_2.js +86 -86
  354. package/SVF-doxygen/html/search/functions_3.js +257 -257
  355. package/SVF-doxygen/html/search/functions_4.js +75 -75
  356. package/SVF-doxygen/html/search/functions_5.js +53 -53
  357. package/SVF-doxygen/html/search/functions_6.js +59 -59
  358. package/SVF-doxygen/html/search/functions_7.js +851 -849
  359. package/SVF-doxygen/html/search/functions_8.js +146 -146
  360. package/SVF-doxygen/html/search/functions_9.js +428 -426
  361. package/SVF-doxygen/html/search/functions_a.js +30 -30
  362. package/SVF-doxygen/html/search/functions_b.js +2 -2
  363. package/SVF-doxygen/html/search/functions_c.js +26 -26
  364. package/SVF-doxygen/html/search/functions_d.js +77 -77
  365. package/SVF-doxygen/html/search/functions_e.js +35 -35
  366. package/SVF-doxygen/html/search/functions_f.js +56 -56
  367. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  368. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  369. package/SVF-doxygen/html/search/related_0.js +2 -2
  370. package/SVF-doxygen/html/search/related_1.js +2 -2
  371. package/SVF-doxygen/html/search/related_2.js +2 -2
  372. package/SVF-doxygen/html/search/related_3.js +2 -2
  373. package/SVF-doxygen/html/search/related_4.js +2 -2
  374. package/SVF-doxygen/html/search/related_5.js +1 -1
  375. package/SVF-doxygen/html/search/related_6.js +2 -2
  376. package/SVF-doxygen/html/search/related_7.js +4 -4
  377. package/SVF-doxygen/html/search/related_8.js +2 -2
  378. package/SVF-doxygen/html/search/related_9.js +4 -4
  379. package/SVF-doxygen/html/search/related_a.js +19 -19
  380. package/SVF-doxygen/html/search/related_b.js +4 -4
  381. package/SVF-doxygen/html/search/related_c.js +1 -1
  382. package/SVF-doxygen/html/search/related_d.js +11 -11
  383. package/SVF-doxygen/html/search/related_e.js +2 -2
  384. package/SVF-doxygen/html/search/related_f.js +2 -2
  385. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  386. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  387. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  388. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  389. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  390. package/SVF-doxygen/html/search/typedefs_13.js +35 -35
  391. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  392. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  393. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  394. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  395. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  396. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  397. package/SVF-doxygen/html/search/typedefs_7.js +42 -42
  398. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  399. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  400. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  401. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  402. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  403. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  404. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  405. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  406. package/SVF-doxygen/html/search/variables_0.js +151 -151
  407. package/SVF-doxygen/html/search/variables_1.js +75 -75
  408. package/SVF-doxygen/html/search/variables_10.js +97 -97
  409. package/SVF-doxygen/html/search/variables_11.js +46 -46
  410. package/SVF-doxygen/html/search/variables_12.js +92 -92
  411. package/SVF-doxygen/html/search/variables_13.js +75 -75
  412. package/SVF-doxygen/html/search/variables_14.js +14 -14
  413. package/SVF-doxygen/html/search/variables_15.js +48 -48
  414. package/SVF-doxygen/html/search/variables_16.js +9 -9
  415. package/SVF-doxygen/html/search/variables_17.js +1 -1
  416. package/SVF-doxygen/html/search/variables_18.js +2 -2
  417. package/SVF-doxygen/html/search/variables_2.js +37 -37
  418. package/SVF-doxygen/html/search/variables_3.js +142 -142
  419. package/SVF-doxygen/html/search/variables_4.js +55 -55
  420. package/SVF-doxygen/html/search/variables_5.js +39 -39
  421. package/SVF-doxygen/html/search/variables_6.js +66 -66
  422. package/SVF-doxygen/html/search/variables_7.js +33 -33
  423. package/SVF-doxygen/html/search/variables_8.js +7 -7
  424. package/SVF-doxygen/html/search/variables_9.js +77 -77
  425. package/SVF-doxygen/html/search/variables_a.js +4 -4
  426. package/SVF-doxygen/html/search/variables_b.js +10 -10
  427. package/SVF-doxygen/html/search/variables_c.js +45 -45
  428. package/SVF-doxygen/html/search/variables_d.js +56 -56
  429. package/SVF-doxygen/html/search/variables_e.js +123 -123
  430. package/SVF-doxygen/html/search/variables_f.js +30 -30
  431. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  432. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  433. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
  434. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  435. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
  436. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
  437. package/SVF-doxygen/html/svf-ex_8cpp.html +235 -125
  438. package/SVF-doxygen/html/svf-ex_8cpp_source.html +234 -144
  439. package/package.json +1 -1
  440. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
  441. package/svf/include/MemoryModel/AccessPath.h +24 -6
  442. package/svf/include/SVFIR/SVFStatements.h +2 -2
  443. package/svf/include/SVFIR/SVFType.h +19 -0
  444. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +16 -21
  445. package/svf/lib/MemoryModel/AccessPath.cpp +15 -14
  446. package/svf/lib/SVFIR/SVFType.cpp +7 -0
  447. package/svf-llvm/lib/LLVMUtil.cpp +10 -0
  448. package/svf-llvm/tools/Example/svf-ex.cpp +65 -0
@@ -122,10 +122,10 @@ Public Member Functions</h2></td></tr>
122
122
  <tr class="separator:ab95df74c97fba13206df48e00131e15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
123
  <tr class="memitem:ab0641554924d44f16c2831cac63ccf8b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a> () const</td></tr>
124
124
  <tr class="separator:ab0641554924d44f16c2831cac63ccf8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
- <tr class="memitem:afca303a7a5bde9a8ef56ae728d414553"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#afca303a7a5bde9a8ef56ae728d414553">computeConstantByteOffset</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> elemBytesize) const</td></tr>
126
- <tr class="separator:afca303a7a5bde9a8ef56ae728d414553"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:a43dc770c4458c6ac58c591974b93fc57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#a43dc770c4458c6ac58c591974b93fc57">computeConstantByteOffset</a> () const</td></tr>
126
+ <tr class="separator:a43dc770c4458c6ac58c591974b93fc57"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
127
  <tr class="memitem:ae746362c42da05a641ae062658e40651"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">computeConstantOffset</a> () const</td></tr>
128
- <tr class="memdesc:ae746362c42da05a641ae062658e40651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return accumulated constant offset given OffsetVarVec. <a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">More...</a><br /></td></tr>
128
+ <tr class="memdesc:ae746362c42da05a641ae062658e40651"><td class="mdescLeft">&#160;</td><td class="mdescRight">For example,. <a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">More...</a><br /></td></tr>
129
129
  <tr class="separator:ae746362c42da05a641ae062658e40651"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
130
  <tr class="memitem:a3c98f0c5f07109f9da0a8a897aa51d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a> (const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="el" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>) const</td></tr>
131
131
  <tr class="memdesc:a3c98f0c5f07109f9da0a8a897aa51d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return element number of a type. <a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">More...</a><br /></td></tr>
@@ -398,26 +398,26 @@ Friends</h2></td></tr>
398
398
 
399
399
  <p>Check relations of two location sets. </p>
400
400
 
401
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00240">240</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
402
- <div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;{</div>
403
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
404
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
405
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
406
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
407
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
408
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
409
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
410
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
411
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
412
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
413
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">else</span></div>
414
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
415
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div>
416
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">else</span></div>
417
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div>
418
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
419
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
420
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
401
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00241">241</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
402
+ <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div>
403
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
404
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
405
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
406
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
407
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
408
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
409
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
410
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
411
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
412
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
413
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">else</span></div>
414
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
415
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div>
416
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">else</span></div>
417
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div>
418
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
419
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
420
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div>
421
421
  </div><!-- fragment -->
422
422
  </div>
423
423
  </div>
@@ -447,17 +447,17 @@ Friends</h2></td></tr>
447
447
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
448
448
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
449
449
 
450
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00199">199</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
451
- <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;{</div>
452
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
453
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>());</div>
454
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> result;</div>
455
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
450
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00200">200</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
451
+ <div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div>
452
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
453
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>());</div>
454
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> result;</div>
455
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div>
456
456
  </div><!-- fragment -->
457
457
  </div>
458
458
  </div>
459
- <a id="afca303a7a5bde9a8ef56ae728d414553"></a>
460
- <h2 class="memtitle"><span class="permalink"><a href="#afca303a7a5bde9a8ef56ae728d414553">&#9670;&nbsp;</a></span>computeConstantByteOffset()</h2>
459
+ <a id="a43dc770c4458c6ac58c591974b93fc57"></a>
460
+ <h2 class="memtitle"><span class="permalink"><a href="#a43dc770c4458c6ac58c591974b93fc57">&#9670;&nbsp;</a></span>computeConstantByteOffset()</h2>
461
461
 
462
462
  <div class="memitem">
463
463
  <div class="memproto">
@@ -465,13 +465,13 @@ Friends</h2></td></tr>
465
465
  <tr>
466
466
  <td class="memname"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> AccessPath::computeConstantByteOffset </td>
467
467
  <td>(</td>
468
- <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
469
- <td class="paramname"><em>elemBytesize</em></td><td>)</td>
468
+ <td class="paramname"></td><td>)</td>
470
469
  <td> const</td>
471
470
  </tr>
472
471
  </table>
473
472
  </div><div class="memdoc">
474
- <p>Return accumulated constant byte offset given OffsetVarVec and elemByteSize elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = **, s32_t elemBytesize = <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92">LLVMUtil::SVFType2ByteSize</a>(gep-&gt;getRHSVar()-&gt;getValue()-&gt;getType()); APOffset byteOffset = gep-&gt;accumulateConstantByteOffset(elemBytesize);</p>
473
+ <p>Computes the total constant byte offset of an access path. This function iterates over the offset-variable-type pairs in reverse order, accumulating the total byte offset for constant offsets. For each pair, it retrieves the corresponding <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> and determines the type of offset (whether it's an array, pointer, or structure). If the offset corresponds to a structure, it further resolves the actual element type based on the offset value. It then multiplies the offset value by the size of the type to compute the byte offset. This is used to handle composite types where offsets are derived from the type's internal structure, such as arrays or structures with fields of various types and sizes. The function asserts that the access path must have a constant offset, and it is intended to be used when the offset is known to be constant at compile time.</p>
474
+ <dl class="section return"><dt>Returns</dt><dd>APOffset representing the computed total constant byte offset. e.g. GepStmt* gep = [i32*4], 2 APOffset byteOffset = gep-&gt;accumulateConstantByteOffset(); byteOffset should be 8 since i32 is 4 bytes and index is 2.</dd></dl>
475
475
  <p>Return accumulated constant offset</p>
476
476
  <p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector and elem byte size: [(value1,type1), (value2,type2), (value3,type3)], bytesize totalConstByteOffset = ByteOffset(value1,type1) * ByteOffset(value2,type2) + ByteOffset(value3,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 </p>
477
477
 
@@ -479,33 +479,34 @@ Friends</h2></td></tr>
479
479
  <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
480
480
  <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
481
481
  <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
482
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
483
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>() * elemBytesize;</div>
484
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
485
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
486
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
487
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
488
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
489
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
490
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
491
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
492
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
482
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
483
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
484
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
485
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
486
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
487
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* type2 = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>;</div>
488
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrType = SVFUtil::dyn_cast&lt;SVFArrayType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
489
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
490
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; type2 = arrType-&gt;getTypeOfElement();</div>
491
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
492
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* ptrType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
493
493
  <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
494
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * elemBytesize;</div>
495
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">continue</span>;</div>
496
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
497
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
498
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
499
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType()) * elemBytesize;</div>
500
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">else</span></div>
501
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
502
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
503
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// if getByteOffset is false, it will retrieve flatten idx</span></div>
504
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> * elemBytesize;</div>
505
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
506
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
507
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
508
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div>
494
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; type2 = ptrType-&gt;getPtrElementType();</div>
495
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
496
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
497
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
498
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structType = SVFUtil::dyn_cast&lt;SVFStructType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
499
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div>
500
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; type2 = structType-&gt;<a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-&gt;<a class="code" href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">getOriginalElemType</a>(op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>());</div>
501
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; totalConstOffset += type2-&gt;<a class="code" href="classSVF_1_1SVFType.html#a0091b8b186ad359a1b54ac7e0ee1e5d0">getLLVMByteSize</a>();</div>
502
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
503
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">else</span></div>
504
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div>
505
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * type2-&gt;<a class="code" href="classSVF_1_1SVFType.html#a0091b8b186ad359a1b54ac7e0ee1e5d0">getLLVMByteSize</a>();</div>
506
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
507
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
508
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
509
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
509
510
  </div><!-- fragment -->
510
511
  </div>
511
512
  </div>
@@ -524,50 +525,50 @@ Friends</h2></td></tr>
524
525
  </table>
525
526
  </div><div class="memdoc">
526
527
 
527
- <p>Return accumulated constant offset given OffsetVarVec. </p>
528
- <p>For example,.</p>
528
+ <p>For example,. </p>
529
+ <p>Return accumulated constant offset given OffsetVarVec compard to computeConstantByteOffset, it is field offset rather than byte offset e.g. GepStmt* gep = [i32*4], 2 APOffset byteOffset = gep-&gt;<a class="el" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651" title="For example,.">computeConstantOffset()</a>; byteOffset should be 2 since it is field offset.</p>
529
530
  <p>Return accumulated constant offset</p>
530
531
  <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(value2,type2) + flattenOffset(value3,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* computeConstantOffset = 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]] } computeConstantOffset = 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]] computeConstantOffset = 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] computeConstantOffset = 2 </p>
531
532
 
532
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00157">157</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
533
- <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div>
534
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
535
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
536
- <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
537
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
538
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
539
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
540
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
541
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
542
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
543
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
544
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
545
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
546
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
547
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
548
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
549
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
550
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">continue</span>;</div>
551
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
552
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
553
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
554
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
555
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span></div>
556
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
557
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
558
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
559
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
560
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
561
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
562
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
563
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; totalConstOffset += flattenOffset;</div>
564
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
565
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">else</span></div>
566
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
567
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
568
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
569
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
570
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
533
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00158">158</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
534
+ <div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;{</div>
535
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
536
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
537
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
538
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
539
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
540
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
541
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
542
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
543
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
544
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
545
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
546
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
547
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
548
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
549
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
550
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
551
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">continue</span>;</div>
552
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div>
553
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
554
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
555
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
556
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">else</span></div>
557
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
558
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
559
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
560
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div>
561
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
562
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
563
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
564
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; totalConstOffset += flattenOffset;</div>
565
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
566
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">else</span></div>
567
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
568
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
569
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
570
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
571
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div>
571
572
  </div><!-- fragment -->
572
573
  </div>
573
574
  </div>
@@ -588,24 +589,24 @@ Friends</h2></td></tr>
588
589
 
589
590
  <p>Dump location set. </p>
590
591
 
591
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00262">262</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
592
- <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;{</div>
593
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
594
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; std::stringstream rawstr(str);</div>
595
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
596
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
597
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
598
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
599
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = vec.begin();</div>
600
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; OffsetVarAndGepTypePairs::const_iterator eit = vec.end();</div>
601
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
602
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
603
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
604
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (Svf var: &quot;</span> &lt;&lt; it-&gt;first-&gt;<a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() &lt;&lt; <span class="stringliteral">&quot;, Iter type: &quot;</span> &lt;&lt; *ty &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
605
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
606
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
607
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
608
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;}</div>
592
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00263">263</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
593
+ <div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;{</div>
594
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
595
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; std::stringstream rawstr(str);</div>
596
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
597
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
598
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
599
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
600
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = vec.begin();</div>
601
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; OffsetVarAndGepTypePairs::const_iterator eit = vec.end();</div>
602
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
603
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
604
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
605
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (Svf var: &quot;</span> &lt;&lt; it-&gt;first-&gt;<a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() &lt;&lt; <span class="stringliteral">&quot;, Iter type: &quot;</span> &lt;&lt; *ty &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
606
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
607
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
608
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
609
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
609
610
  </div><!-- fragment -->
610
611
  </div>
611
612
  </div>
@@ -745,10 +746,10 @@ Friends</h2></td></tr>
745
746
 
746
747
  <p>Return TRUE if we share any location in common with RHS. </p>
747
748
 
748
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00131">131</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
749
- <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
750
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.computeAllLocations());</div>
751
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
749
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00149">149</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
750
+ <div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div>
751
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.computeAllLocations());</div>
752
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
752
753
  </div><!-- fragment -->
753
754
  </div>
754
755
  </div>
@@ -800,15 +801,15 @@ Friends</h2></td></tr>
800
801
 
801
802
  <p>Overload operators. </p>
802
803
 
803
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00206">206</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
804
- <div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div>
805
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
806
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
807
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getOffsetVarAndGepTypePairVec())</div>
808
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; ap.addOffsetVarAndGepTypePair(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
809
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
810
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> ap;</div>
811
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;}</div>
804
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00207">207</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
805
+ <div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;{</div>
806
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
807
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
808
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getOffsetVarAndGepTypePairVec())</div>
809
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; ap.addOffsetVarAndGepTypePair(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
810
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
811
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> ap;</div>
812
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
812
813
  </div><!-- fragment -->
813
814
  </div>
814
815
  </div>
@@ -828,29 +829,29 @@ Friends</h2></td></tr>
828
829
  </table>
829
830
  </div><div class="memdoc">
830
831
 
831
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00216">216</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
832
- <div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div>
833
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
834
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
835
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">else</span></div>
836
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
837
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
838
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
839
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
840
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
841
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">else</span></div>
842
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
843
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
844
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; OffsetVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
845
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
846
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
847
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
848
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
849
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
850
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
851
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
852
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
853
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
832
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00217">217</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
833
+ <div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div>
834
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
835
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
836
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">else</span></div>
837
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; {</div>
838
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
839
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
840
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
841
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
842
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">else</span></div>
843
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; {</div>
844
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
845
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; OffsetVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
846
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
847
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div>
848
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
849
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div>
850
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
851
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
852
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
853
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
854
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div>
854
855
  </div><!-- fragment -->
855
856
  </div>
856
857
  </div>
@@ -1046,7 +1047,7 @@ Friends</h2></td></tr>
1046
1047
 
1047
1048
  <p>Accumulated Constant Offsets. </p>
1048
1049
 
1049
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00147">147</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1050
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00165">165</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1050
1051
 
1051
1052
  </div>
1052
1053
  </div>
@@ -1072,7 +1073,7 @@ Friends</h2></td></tr>
1072
1073
 
1073
1074
  <p>a vector of actual offset in the form of &lt;<a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a> Var, iterator type&gt;s </p>
1074
1075
 
1075
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00148">148</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1076
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00166">166</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1076
1077
 
1077
1078
  </div>
1078
1079
  </div>
@@ -1087,30 +1088,35 @@ Friends</h2></td></tr>
1087
1088
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">SVF::AccessPath::Overlap</a></div><div class="ttdeci">@ Overlap</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1088
1089
  <div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
1089
1090
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a73ba2fd20ff0e21a2f09a3396f2596f8"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">SVF::AccessPath::OffsetVarAndGepTypePairs</a></div><div class="ttdeci">std::vector&lt; VarAndGepTypePair &gt; OffsetVarAndGepTypePairs</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00065">AccessPath.h:65</a></div></div>
1090
- <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00332">SVFType.h:332</a></div></div>
1091
+ <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00344">SVFType.h:344</a></div></div>
1091
1092
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
1092
1093
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
1093
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::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="AccessPath_8cpp_source.html#l00199">AccessPath.cpp:199</a></div></div>
1094
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::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="AccessPath_8cpp_source.html#l00200">AccessPath.cpp:200</a></div></div>
1094
1095
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
1095
1096
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">SVF::AccessPath::Same</a></div><div class="ttdeci">@ Same</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1096
1097
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00181">SymbolTableInfo.cpp:181</a></div></div>
1097
1098
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a68e49bb797a84ea035ea338549f2e054"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">SVF::AccessPath::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00098">AccessPath.h:98</a></div></div>
1098
1099
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
1099
1100
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1101
+ <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00455">SVFType.h:455</a></div></div>
1102
+ <div class="ttc" id="aclassSVF_1_1SVFType_html_a0091b8b186ad359a1b54ac7e0ee1e5d0"><div class="ttname"><a href="classSVF_1_1SVFType.html#a0091b8b186ad359a1b54ac7e0ee1e5d0">SVF::SVFType::getLLVMByteSize</a></div><div class="ttdeci">u32_t getLLVMByteSize() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01272">LLVMUtil.cpp:1272</a></div></div>
1100
1103
  <div class="ttc" id="aclassSVF_1_1AccessPath_html"><div class="ttname"><a href="classSVF_1_1AccessPath.html">SVF::AccessPath</a></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00052">AccessPath.h:52</a></div></div>
1101
1104
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
1102
1105
  <div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
1106
+ <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00422">SVFType.h:422</a></div></div>
1103
1107
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">SVF::AccessPath::NonOverlap</a></div><div class="ttdeci">@ NonOverlap</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1104
1108
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00955">SVFValue.h:955</a></div></div>
1105
1109
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a9035ac13134de4647d63507cd80ca3d6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">SVF::SVFType::toString</a></div><div class="ttdeci">std::string toString() const</div></div>
1106
1110
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_ab0641554924d44f16c2831cac63ccf8b"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">SVF::AccessPath::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const OffsetVarAndGepTypePairs &amp; getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00106">AccessPath.h:106</a></div></div>
1107
1111
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
1112
+ <div class="ttc" id="aclassSVF_1_1SVFType_html_a05850c17c2dbe42e5602dc8c9a70f3bd"><div class="ttname"><a href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">SVF::SVFType::getTypeInfo</a></div><div class="ttdeci">StInfo * getTypeInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00309">SVFType.h:309</a></div></div>
1108
1113
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">SVF::AccessPath::Superset</a></div><div class="ttdeci">@ Superset</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1109
1114
  <div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
1110
1115
  <div class="ttc" id="anamespaceSVF_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#l00050">SVFUtil.h:50</a></div></div>
1111
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa9f0a1290083a9b077c6065cad054163"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">SVF::AccessPath::offsetVarAndGepTypePairs</a></div><div class="ttdeci">OffsetVarAndGepTypePairs offsetVarAndGepTypePairs</div><div class="ttdoc">a vector of actual offset in the form of &lt;SVF Var, iterator type&gt;s</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00148">AccessPath.h:148</a></div></div>
1116
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa9f0a1290083a9b077c6065cad054163"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">SVF::AccessPath::offsetVarAndGepTypePairs</a></div><div class="ttdeci">OffsetVarAndGepTypePairs offsetVarAndGepTypePairs</div><div class="ttdoc">a vector of actual offset in the form of &lt;SVF Var, iterator type&gt;s</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00166">AccessPath.h:166</a></div></div>
1112
1117
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a403312192a96a9fd5e7d071481592a7f"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">SVF::AccessPath::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="AccessPath_8cpp_source.html#l00049">AccessPath.cpp:49</a></div></div>
1113
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa1747064a0833855a5848ebf4a4d65fa"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">SVF::AccessPath::fldIdx</a></div><div class="ttdeci">APOffset fldIdx</div><div class="ttdoc">Accumulated Constant Offsets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00147">AccessPath.h:147</a></div></div>
1118
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa1747064a0833855a5848ebf4a4d65fa"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">SVF::AccessPath::fldIdx</a></div><div class="ttdeci">APOffset fldIdx</div><div class="ttdoc">Accumulated Constant Offsets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00165">AccessPath.h:165</a></div></div>
1119
+ <div class="ttc" id="aclassSVF_1_1StInfo_html_a055697f565cb9d73b41110090fe50159"><div class="ttname"><a href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">SVF::StInfo::getOriginalElemType</a></div><div class="ttdeci">const SVFType * getOriginalElemType(u32_t fldIdx) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00026">SVFValue.cpp:26</a></div></div>
1114
1120
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">SVF::AccessPath::Subset</a></div><div class="ttdeci">@ Subset</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1115
1121
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00983">SVFValue.h:983</a></div></div>
1116
1122
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>