svf-tools 1.0.807 → 1.0.808

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 (474) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +143 -141
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +36 -35
  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 +14 -14
  12. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +8 -8
  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 +8 -8
  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 +8 -8
  25. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
  27. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/IRGraph_8cpp_source.html +4 -4
  29. package/SVF-doxygen/html/IntervalValue_8h_source.html +3 -3
  30. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +190 -177
  32. package/SVF-doxygen/html/LLVMModule_8h_source.html +3 -3
  33. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +26 -38
  34. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
  36. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  37. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
  39. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
  40. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
  42. package/SVF-doxygen/html/MemRegion_8cpp_source.html +9 -9
  43. package/SVF-doxygen/html/MemRegion_8h_source.html +3 -3
  44. package/SVF-doxygen/html/MemSSA_8cpp_source.html +6 -6
  45. package/SVF-doxygen/html/MemSSA_8h_source.html +2 -2
  46. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
  51. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  52. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  53. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +26 -26
  55. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +21 -21
  56. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/SVFG_8cpp_source.html +3 -3
  61. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +68 -68
  62. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +10 -10
  63. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +813 -846
  64. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +34 -33
  65. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +36 -36
  66. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +12 -12
  67. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +15 -15
  68. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/SVFIR_8cpp_source.html +18 -18
  70. package/SVF-doxygen/html/SVFIR_8h_source.html +15 -15
  71. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +21 -21
  73. package/SVF-doxygen/html/SVFStatements_8h_source.html +967 -965
  74. package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
  75. package/SVF-doxygen/html/SVFType_8cpp_source.html +61 -70
  76. package/SVF-doxygen/html/SVFType_8h.html +23 -23
  77. package/SVF-doxygen/html/SVFType_8h_source.html +431 -425
  78. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  79. package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
  80. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  81. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
  82. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
  83. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
  84. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  85. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
  86. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
  87. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +8 -8
  88. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
  89. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  90. package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
  91. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/VFGNode_8h_source.html +11 -11
  93. package/SVF-doxygen/html/VFG_8cpp_source.html +19 -19
  94. package/SVF-doxygen/html/VFG_8h_source.html +14 -14
  95. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  97. package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
  98. package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
  99. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +16 -16
  100. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +162 -160
  101. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  102. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
  105. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  106. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
  107. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  108. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  111. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +69 -69
  112. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  113. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +52 -52
  114. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
  115. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  116. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
  118. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  119. package/SVF-doxygen/html/classSVF_1_1CallPE.html +36 -36
  120. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +98 -98
  121. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  122. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
  123. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
  124. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +8 -8
  125. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +20 -20
  126. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  128. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  129. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  130. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
  133. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  135. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +8 -8
  136. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +8 -8
  137. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  139. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  141. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +64 -64
  142. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  143. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  144. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
  145. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  146. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  148. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  149. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  150. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  152. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +185 -173
  153. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
  154. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +20 -20
  155. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
  156. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  157. package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
  158. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +8 -8
  159. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  160. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  161. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  163. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  164. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +6 -6
  165. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
  166. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  167. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  168. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  169. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  170. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  171. package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
  172. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  173. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +47 -47
  174. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  175. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  176. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  177. package/SVF-doxygen/html/classSVF_1_1RetPE.html +36 -36
  178. package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +38 -37
  179. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +43 -41
  180. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  181. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +35 -34
  182. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +26 -26
  183. package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
  184. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  185. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  186. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  187. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +17 -17
  188. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +57 -57
  189. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +6 -6
  190. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +898 -891
  191. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +13 -13
  192. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +36 -35
  193. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +37 -35
  194. package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +37 -36
  195. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +48 -37
  196. package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +36 -35
  197. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +38 -36
  198. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  199. package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +37 -36
  200. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +38 -36
  201. package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +31 -30
  202. package/SVF-doxygen/html/classSVF_1_1SVFType.html +103 -67
  203. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  204. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  205. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +10 -10
  206. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  207. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +39 -39
  208. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
  209. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  210. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +18 -18
  211. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +8 -8
  212. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
  213. package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
  214. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +23 -23
  215. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +22 -22
  216. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  217. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +45 -45
  218. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  219. package/SVF-doxygen/html/classSVF_1_1VFG.html +19 -19
  220. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  221. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  222. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  223. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
  224. package/SVF-doxygen/html/functions_b.html +10 -9
  225. package/SVF-doxygen/html/functions_func_g.html +22 -20
  226. package/SVF-doxygen/html/functions_func_i.html +3 -3
  227. package/SVF-doxygen/html/functions_func_s.html +6 -6
  228. package/SVF-doxygen/html/functions_g.html +22 -20
  229. package/SVF-doxygen/html/functions_i.html +22 -16
  230. package/SVF-doxygen/html/functions_n.html +4 -4
  231. package/SVF-doxygen/html/functions_o.html +18 -19
  232. package/SVF-doxygen/html/functions_p.html +7 -7
  233. package/SVF-doxygen/html/functions_s.html +18 -16
  234. package/SVF-doxygen/html/functions_t.html +4 -4
  235. package/SVF-doxygen/html/functions_type_i.html +6 -0
  236. package/SVF-doxygen/html/functions_type_o.html +0 -3
  237. package/SVF-doxygen/html/functions_type_v.html +0 -3
  238. package/SVF-doxygen/html/functions_v.html +9 -12
  239. package/SVF-doxygen/html/functions_vars_b.html +1 -0
  240. package/SVF-doxygen/html/functions_vars_o.html +1 -1
  241. package/SVF-doxygen/html/functions_w.html +8 -8
  242. package/SVF-doxygen/html/namespaceSVF.html +44 -53
  243. package/SVF-doxygen/html/namespacemembers.html +1 -1
  244. package/SVF-doxygen/html/namespacemembers_func.html +1 -1
  245. package/SVF-doxygen/html/search/all_0.js +1 -1
  246. package/SVF-doxygen/html/search/all_10.js +324 -324
  247. package/SVF-doxygen/html/search/all_11.js +222 -222
  248. package/SVF-doxygen/html/search/all_12.js +543 -543
  249. package/SVF-doxygen/html/search/all_13.js +191 -191
  250. package/SVF-doxygen/html/search/all_14.js +67 -67
  251. package/SVF-doxygen/html/search/all_15.js +169 -170
  252. package/SVF-doxygen/html/search/all_16.js +63 -63
  253. package/SVF-doxygen/html/search/all_17.js +1 -1
  254. package/SVF-doxygen/html/search/all_18.js +1 -1
  255. package/SVF-doxygen/html/search/all_19.js +11 -11
  256. package/SVF-doxygen/html/search/all_1a.js +172 -172
  257. package/SVF-doxygen/html/search/all_2.js +1 -1
  258. package/SVF-doxygen/html/search/all_7.js +766 -765
  259. package/SVF-doxygen/html/search/all_8.js +196 -196
  260. package/SVF-doxygen/html/search/all_9.js +613 -611
  261. package/SVF-doxygen/html/search/all_a.js +46 -46
  262. package/SVF-doxygen/html/search/all_b.js +26 -26
  263. package/SVF-doxygen/html/search/all_c.js +116 -116
  264. package/SVF-doxygen/html/search/all_d.js +196 -196
  265. package/SVF-doxygen/html/search/all_e.js +207 -207
  266. package/SVF-doxygen/html/search/all_f.js +116 -116
  267. package/SVF-doxygen/html/search/classes_0.js +26 -26
  268. package/SVF-doxygen/html/search/classes_1.js +9 -9
  269. package/SVF-doxygen/html/search/classes_10.js +73 -73
  270. package/SVF-doxygen/html/search/classes_11.js +15 -15
  271. package/SVF-doxygen/html/search/classes_12.js +2 -2
  272. package/SVF-doxygen/html/search/classes_13.js +10 -10
  273. package/SVF-doxygen/html/search/classes_14.js +14 -14
  274. package/SVF-doxygen/html/search/classes_15.js +1 -1
  275. package/SVF-doxygen/html/search/classes_2.js +80 -80
  276. package/SVF-doxygen/html/search/classes_3.js +37 -37
  277. package/SVF-doxygen/html/search/classes_4.js +9 -9
  278. package/SVF-doxygen/html/search/classes_5.js +28 -28
  279. package/SVF-doxygen/html/search/classes_6.js +104 -104
  280. package/SVF-doxygen/html/search/classes_7.js +33 -33
  281. package/SVF-doxygen/html/search/classes_8.js +56 -56
  282. package/SVF-doxygen/html/search/classes_9.js +1 -1
  283. package/SVF-doxygen/html/search/classes_a.js +12 -12
  284. package/SVF-doxygen/html/search/classes_b.js +29 -29
  285. package/SVF-doxygen/html/search/classes_c.js +6 -6
  286. package/SVF-doxygen/html/search/classes_d.js +18 -18
  287. package/SVF-doxygen/html/search/classes_e.js +36 -36
  288. package/SVF-doxygen/html/search/classes_f.js +25 -25
  289. package/SVF-doxygen/html/search/defines_0.js +3 -3
  290. package/SVF-doxygen/html/search/defines_1.js +2 -2
  291. package/SVF-doxygen/html/search/defines_2.js +30 -30
  292. package/SVF-doxygen/html/search/defines_3.js +21 -21
  293. package/SVF-doxygen/html/search/defines_4.js +2 -2
  294. package/SVF-doxygen/html/search/defines_5.js +4 -4
  295. package/SVF-doxygen/html/search/defines_6.js +2 -2
  296. package/SVF-doxygen/html/search/defines_7.js +5 -5
  297. package/SVF-doxygen/html/search/defines_8.js +11 -11
  298. package/SVF-doxygen/html/search/defines_9.js +9 -9
  299. package/SVF-doxygen/html/search/defines_a.js +2 -2
  300. package/SVF-doxygen/html/search/defines_b.js +1 -1
  301. package/SVF-doxygen/html/search/defines_c.js +3 -3
  302. package/SVF-doxygen/html/search/defines_d.js +2 -2
  303. package/SVF-doxygen/html/search/defines_e.js +7 -7
  304. package/SVF-doxygen/html/search/defines_f.js +3 -3
  305. package/SVF-doxygen/html/search/enums_0.js +3 -3
  306. package/SVF-doxygen/html/search/enums_1.js +2 -2
  307. package/SVF-doxygen/html/search/enums_10.js +1 -1
  308. package/SVF-doxygen/html/search/enums_11.js +1 -1
  309. package/SVF-doxygen/html/search/enums_2.js +8 -8
  310. package/SVF-doxygen/html/search/enums_3.js +1 -1
  311. package/SVF-doxygen/html/search/enums_4.js +3 -3
  312. package/SVF-doxygen/html/search/enums_5.js +1 -1
  313. package/SVF-doxygen/html/search/enums_6.js +2 -2
  314. package/SVF-doxygen/html/search/enums_7.js +2 -2
  315. package/SVF-doxygen/html/search/enums_8.js +4 -4
  316. package/SVF-doxygen/html/search/enums_9.js +1 -1
  317. package/SVF-doxygen/html/search/enums_a.js +1 -1
  318. package/SVF-doxygen/html/search/enums_b.js +7 -7
  319. package/SVF-doxygen/html/search/enums_c.js +1 -1
  320. package/SVF-doxygen/html/search/enums_d.js +4 -4
  321. package/SVF-doxygen/html/search/enums_e.js +2 -2
  322. package/SVF-doxygen/html/search/enums_f.js +4 -4
  323. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  324. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  325. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  326. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  327. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  328. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  329. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  330. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  331. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  332. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  333. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  334. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  335. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  336. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  337. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  338. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  339. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  340. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  341. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  342. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  343. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  344. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  345. package/SVF-doxygen/html/search/files_0.js +13 -13
  346. package/SVF-doxygen/html/search/files_1.js +7 -7
  347. package/SVF-doxygen/html/search/files_10.js +8 -8
  348. package/SVF-doxygen/html/search/files_11.js +8 -8
  349. package/SVF-doxygen/html/search/files_12.js +2 -2
  350. package/SVF-doxygen/html/search/files_2.js +55 -55
  351. package/SVF-doxygen/html/search/files_3.js +14 -14
  352. package/SVF-doxygen/html/search/files_4.js +5 -5
  353. package/SVF-doxygen/html/search/files_5.js +13 -13
  354. package/SVF-doxygen/html/search/files_6.js +9 -9
  355. package/SVF-doxygen/html/search/files_7.js +14 -14
  356. package/SVF-doxygen/html/search/files_8.js +13 -13
  357. package/SVF-doxygen/html/search/files_9.js +18 -18
  358. package/SVF-doxygen/html/search/files_a.js +3 -3
  359. package/SVF-doxygen/html/search/files_b.js +2 -2
  360. package/SVF-doxygen/html/search/files_c.js +20 -20
  361. package/SVF-doxygen/html/search/files_d.js +4 -4
  362. package/SVF-doxygen/html/search/files_e.js +62 -62
  363. package/SVF-doxygen/html/search/files_f.js +8 -8
  364. package/SVF-doxygen/html/search/functions_0.js +12 -12
  365. package/SVF-doxygen/html/search/functions_1.js +360 -360
  366. package/SVF-doxygen/html/search/functions_10.js +140 -140
  367. package/SVF-doxygen/html/search/functions_11.js +138 -138
  368. package/SVF-doxygen/html/search/functions_12.js +278 -278
  369. package/SVF-doxygen/html/search/functions_13.js +59 -59
  370. package/SVF-doxygen/html/search/functions_14.js +39 -39
  371. package/SVF-doxygen/html/search/functions_15.js +71 -71
  372. package/SVF-doxygen/html/search/functions_16.js +32 -32
  373. package/SVF-doxygen/html/search/functions_17.js +3 -3
  374. package/SVF-doxygen/html/search/functions_18.js +172 -172
  375. package/SVF-doxygen/html/search/functions_2.js +86 -86
  376. package/SVF-doxygen/html/search/functions_3.js +257 -257
  377. package/SVF-doxygen/html/search/functions_4.js +75 -75
  378. package/SVF-doxygen/html/search/functions_5.js +53 -53
  379. package/SVF-doxygen/html/search/functions_6.js +59 -59
  380. package/SVF-doxygen/html/search/functions_7.js +852 -851
  381. package/SVF-doxygen/html/search/functions_8.js +148 -148
  382. package/SVF-doxygen/html/search/functions_9.js +429 -429
  383. package/SVF-doxygen/html/search/functions_a.js +30 -30
  384. package/SVF-doxygen/html/search/functions_b.js +2 -2
  385. package/SVF-doxygen/html/search/functions_c.js +26 -26
  386. package/SVF-doxygen/html/search/functions_d.js +77 -77
  387. package/SVF-doxygen/html/search/functions_e.js +35 -35
  388. package/SVF-doxygen/html/search/functions_f.js +56 -56
  389. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  390. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  391. package/SVF-doxygen/html/search/related_0.js +2 -2
  392. package/SVF-doxygen/html/search/related_1.js +2 -2
  393. package/SVF-doxygen/html/search/related_2.js +2 -2
  394. package/SVF-doxygen/html/search/related_3.js +2 -2
  395. package/SVF-doxygen/html/search/related_4.js +2 -2
  396. package/SVF-doxygen/html/search/related_5.js +1 -1
  397. package/SVF-doxygen/html/search/related_6.js +2 -2
  398. package/SVF-doxygen/html/search/related_7.js +4 -4
  399. package/SVF-doxygen/html/search/related_8.js +2 -2
  400. package/SVF-doxygen/html/search/related_9.js +4 -4
  401. package/SVF-doxygen/html/search/related_a.js +19 -19
  402. package/SVF-doxygen/html/search/related_b.js +4 -4
  403. package/SVF-doxygen/html/search/related_c.js +1 -1
  404. package/SVF-doxygen/html/search/related_d.js +11 -11
  405. package/SVF-doxygen/html/search/related_e.js +2 -2
  406. package/SVF-doxygen/html/search/related_f.js +2 -2
  407. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  408. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  409. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  410. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  411. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  412. package/SVF-doxygen/html/search/typedefs_13.js +34 -35
  413. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  414. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  415. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  416. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  417. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  418. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  419. package/SVF-doxygen/html/search/typedefs_7.js +44 -42
  420. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  421. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  422. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  423. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  424. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  425. package/SVF-doxygen/html/search/typedefs_d.js +14 -15
  426. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  427. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  428. package/SVF-doxygen/html/search/variables_0.js +151 -151
  429. package/SVF-doxygen/html/search/variables_1.js +75 -75
  430. package/SVF-doxygen/html/search/variables_10.js +97 -97
  431. package/SVF-doxygen/html/search/variables_11.js +44 -44
  432. package/SVF-doxygen/html/search/variables_12.js +92 -92
  433. package/SVF-doxygen/html/search/variables_13.js +75 -75
  434. package/SVF-doxygen/html/search/variables_14.js +14 -14
  435. package/SVF-doxygen/html/search/variables_15.js +48 -48
  436. package/SVF-doxygen/html/search/variables_16.js +9 -9
  437. package/SVF-doxygen/html/search/variables_17.js +1 -1
  438. package/SVF-doxygen/html/search/variables_18.js +2 -2
  439. package/SVF-doxygen/html/search/variables_2.js +38 -38
  440. package/SVF-doxygen/html/search/variables_3.js +142 -142
  441. package/SVF-doxygen/html/search/variables_4.js +55 -55
  442. package/SVF-doxygen/html/search/variables_5.js +36 -36
  443. package/SVF-doxygen/html/search/variables_6.js +66 -66
  444. package/SVF-doxygen/html/search/variables_7.js +33 -33
  445. package/SVF-doxygen/html/search/variables_8.js +7 -7
  446. package/SVF-doxygen/html/search/variables_9.js +77 -77
  447. package/SVF-doxygen/html/search/variables_a.js +4 -4
  448. package/SVF-doxygen/html/search/variables_b.js +10 -10
  449. package/SVF-doxygen/html/search/variables_c.js +45 -45
  450. package/SVF-doxygen/html/search/variables_d.js +56 -56
  451. package/SVF-doxygen/html/search/variables_e.js +123 -123
  452. package/SVF-doxygen/html/search/variables_f.js +30 -30
  453. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  454. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  455. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  456. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +9 -9
  457. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  458. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
  459. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
  460. package/SVF-doxygen/html/svf-ex_8cpp.html +22 -22
  461. package/SVF-doxygen/html/svf-ex_8cpp_source.html +23 -23
  462. package/package.json +1 -1
  463. package/svf/include/AbstractExecution/IntervalValue.h +3 -3
  464. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
  465. package/svf/include/MemoryModel/AccessPath.h +6 -5
  466. package/svf/include/SVFIR/SVFStatements.h +3 -1
  467. package/svf/include/SVFIR/SVFType.h +18 -11
  468. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +162 -142
  469. package/svf/lib/MemoryModel/AccessPath.cpp +10 -9
  470. package/svf/lib/SVFIR/SVFFileSystem.cpp +5 -5
  471. package/svf/lib/SVFIR/SVFType.cpp +0 -7
  472. package/svf-llvm/lib/LLVMModule.cpp +16 -5
  473. package/svf-llvm/lib/LLVMUtil.cpp +0 -9
  474. package/svf-llvm/lib/SymbolTableBuilder.cpp +4 -4
@@ -177,181 +177,183 @@ $(function() {
177
177
  <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div>
178
178
  <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = structType-&gt;getTypeInfo()-&gt;getFlattenedFieldIdxVec()[structField];</div>
179
179
  <div class="line"><a name="l00142"></a><span class="lineno"> 142</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>(flattenIdx);</div>
180
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; totalConstOffset += type2-&gt;<a class="code" href="classSVF_1_1SVFType.html#a0091b8b186ad359a1b54ac7e0ee1e5d0">getLLVMByteSize</a>();</div>
180
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; totalConstOffset += type2-&gt;<a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
181
181
  <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div>
182
182
  <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div>
183
183
  <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">else</span></div>
184
184
  <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div>
185
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</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>
185
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</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#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
186
186
  <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div>
187
187
  <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div>
188
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
189
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;}</div>
190
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
191
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
192
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="comment">// struct inner{ int rollNumber; float percentage;};</span></div>
193
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment">// struct Student { struct inner rollNumber; char studentName[10][3];}</span></div>
194
- <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment">// char x = studentRecord[1].studentName[3][2];</span></div>
195
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; </div>
196
- <div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651"> 184</a></span>&#160;<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">AccessPath::computeConstantOffset</a>()<span class="keyword"> const</span></div>
197
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keyword"></span>{</div>
198
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
199
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; assert(isConstantOffset() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
200
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; </div>
201
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">if</span>(offsetVarAndGepTypePairs.empty())</div>
202
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> getConstantFieldIdx();</div>
203
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
204
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
205
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = offsetVarAndGepTypePairs.size() - 1; i &gt;= 0; i--)</div>
206
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div>
207
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = offsetVarAndGepTypePairs[i].first-&gt;getValue();</div>
208
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</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> = offsetVarAndGepTypePairs[i].second;</div>
209
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</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>
210
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
211
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
212
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div>
213
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
214
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">continue</span>;</div>
215
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div>
216
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; </div>
217
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</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>
218
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * getElementNum(pty-&gt;getPtrElementType());</div>
219
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">else</span></div>
220
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div>
221
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</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>
222
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
223
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
224
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
225
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</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>
226
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
227
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; totalConstOffset += flattenOffset;</div>
228
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
229
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">else</span></div>
230
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
231
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
232
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
233
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
234
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div>
235
- <div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf"> 226</a></span>&#160;<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">AccessPath::computeAllLocations</a>()<span class="keyword"> const</span></div>
236
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;<span class="keyword"></span>{</div>
237
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
238
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(getConstantFieldIdx());</div>
239
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> result;</div>
240
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;}</div>
241
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; </div>
242
- <div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2"> 233</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> <a class="code" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">AccessPath::operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
243
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160;<span class="keyword"></span>{</div>
244
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
245
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> += getConstantFieldIdx();</div>
246
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.<a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>())</div>
247
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">addOffsetVarAndGepTypePair</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
248
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; </div>
249
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">return</span> ap;</div>
250
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;}</div>
251
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
252
- <div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421"> 243</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">AccessPath::operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
253
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;<span class="keyword"></span>{</div>
254
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (fldIdx != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
255
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> (fldIdx &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
256
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">else</span></div>
257
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
258
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; pairVec = getOffsetVarAndGepTypePairVec();</div>
259
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</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>
260
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
261
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
262
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">else</span></div>
263
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div>
264
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
265
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; OffsetVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
266
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
267
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div>
268
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
269
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
270
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; </div>
271
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
272
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div>
273
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
274
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div>
275
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
276
- <div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb"> 267</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a> <a class="code" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">AccessPath::checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; RHS)</div>
277
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div>
278
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</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>
279
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</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>
280
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
281
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
282
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
283
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> Same;</div>
284
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</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>
285
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> Superset;</div>
286
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</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>
287
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> Subset;</div>
288
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">else</span></div>
289
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> Overlap;</div>
290
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; }</div>
291
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">else</span></div>
292
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div>
293
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> NonOverlap;</div>
294
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div>
295
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;}</div>
296
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; </div>
297
- <div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0"> 289</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">AccessPath::dump</a>()<span class="keyword"> const</span></div>
298
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;<span class="keyword"></span>{</div>
299
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
300
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; std::stringstream rawstr(str);</div>
301
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
302
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; getConstantFieldIdx();</div>
303
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
304
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; vec = getOffsetVarAndGepTypePairVec();</div>
305
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = vec.begin();</div>
306
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; OffsetVarAndGepTypePairs::const_iterator eit = vec.end();</div>
307
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
308
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
309
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
310
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</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>
311
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
312
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
313
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
314
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;}</div>
188
+ <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; totalConstOffset = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() &gt; totalConstOffset? totalConstOffset: <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
189
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
190
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;}</div>
191
+ <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
192
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
193
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="comment">// struct inner{ int rollNumber; float percentage;};</span></div>
194
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;<span class="comment">// struct Student { struct inner rollNumber; char studentName[10][3];}</span></div>
195
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="comment">// char x = studentRecord[1].studentName[3][2];</span></div>
196
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
197
+ <div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651"> 185</a></span>&#160;<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">AccessPath::computeConstantOffset</a>()<span class="keyword"> const</span></div>
198
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="keyword"></span>{</div>
199
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
200
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; assert(isConstantOffset() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
201
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; </div>
202
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">if</span>(offsetVarAndGepTypePairs.empty())</div>
203
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> getConstantFieldIdx();</div>
204
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; </div>
205
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
206
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = offsetVarAndGepTypePairs.size() - 1; i &gt;= 0; i--)</div>
207
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
208
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = offsetVarAndGepTypePairs[i].first-&gt;getValue();</div>
209
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</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> = offsetVarAndGepTypePairs[i].second;</div>
210
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</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>
211
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
212
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
213
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div>
214
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
215
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">continue</span>;</div>
216
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
217
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
218
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</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>
219
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * getElementNum(pty-&gt;getPtrElementType());</div>
220
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">else</span></div>
221
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
222
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</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>
223
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
224
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
225
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
226
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</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>
227
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
228
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; totalConstOffset += flattenOffset;</div>
229
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div>
230
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">else</span></div>
231
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
232
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
233
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
234
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
235
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;}</div>
236
+ <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf"> 227</a></span>&#160;<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">AccessPath::computeAllLocations</a>()<span class="keyword"> const</span></div>
237
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword"></span>{</div>
238
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
239
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(getConstantFieldIdx());</div>
240
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> result;</div>
241
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div>
242
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
243
+ <div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2"> 234</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> <a class="code" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">AccessPath::operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
244
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="keyword"></span>{</div>
245
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
246
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> += getConstantFieldIdx();</div>
247
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.<a class="code" href="classSVF_1_1AccessPath.html#ac4f6bf6b6b257eb6b97b34f22d52eaf6">getOffsetVarAndGepTypePairVec</a>())</div>
248
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">addOffsetVarAndGepTypePair</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
249
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; </div>
250
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> ap;</div>
251
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;}</div>
252
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
253
+ <div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421"> 244</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">AccessPath::operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
254
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="keyword"></span>{</div>
255
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (fldIdx != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
256
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> (fldIdx &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
257
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span></div>
258
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div>
259
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#ac60f994cda4747717028aa6c0f9c6f92">IdxVarAndGepTypePairs</a>&amp; pairVec = getOffsetVarAndGepTypePairVec();</div>
260
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#ac60f994cda4747717028aa6c0f9c6f92">IdxVarAndGepTypePairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#ac4f6bf6b6b257eb6b97b34f22d52eaf6">getOffsetVarAndGepTypePairVec</a>();</div>
261
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
262
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
263
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">else</span></div>
264
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
265
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; IdxVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
266
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; IdxVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
267
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
268
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div>
269
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
270
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
271
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
272
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
273
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
274
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
275
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div>
276
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; </div>
277
+ <div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb"> 268</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a> <a class="code" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">AccessPath::checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; RHS)</div>
278
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
279
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</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>
280
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</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>
281
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
282
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
283
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
284
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> Same;</div>
285
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</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>
286
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span> Superset;</div>
287
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</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>
288
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> Subset;</div>
289
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">else</span></div>
290
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> Overlap;</div>
291
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div>
292
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">else</span></div>
293
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div>
294
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> NonOverlap;</div>
295
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
296
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;}</div>
297
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; </div>
298
+ <div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0"> 290</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">AccessPath::dump</a>()<span class="keyword"> const</span></div>
299
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;<span class="keyword"></span>{</div>
300
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
301
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; std::stringstream rawstr(str);</div>
302
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; </div>
303
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; getConstantFieldIdx();</div>
304
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
305
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#ac60f994cda4747717028aa6c0f9c6f92">IdxVarAndGepTypePairs</a>&amp; vec = getOffsetVarAndGepTypePairVec();</div>
306
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; IdxVarAndGepTypePairs::const_iterator it = vec.begin();</div>
307
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; IdxVarAndGepTypePairs::const_iterator eit = vec.end();</div>
308
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
309
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div>
310
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
311
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</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>
312
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
313
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
314
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
315
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;}</div>
315
316
  </div><!-- fragment --></div><!-- contents -->
316
317
  <div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
317
318
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector&lt; ElementSize &gt; *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01031">SparseBitVector.h:1031</a></div></div>
319
+ <div class="ttc" id="aclassSVF_1_1SVFType_html_a95b8031f1e15d49c7d68628be1d05aae"><div class="ttname"><a href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">SVF::SVFType::getByteSize</a></div><div class="ttdeci">u32_t getByteSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00323">SVFType.h:323</a></div></div>
318
320
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_abbd0e0cf759fad7858224ed8a63aade8"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">SVF::SparseBitVector::contains</a></div><div class="ttdeci">bool contains(const SparseBitVector&lt; ElementSize &gt; &amp;RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01073">SparseBitVector.h:1073</a></div></div>
319
321
  <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>
320
- <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>
321
- <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>
322
+ <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#l00351">SVFType.h:351</a></div></div>
322
323
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
323
324
  <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>
325
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ac60f994cda4747717028aa6c0f9c6f92"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ac60f994cda4747717028aa6c0f9c6f92">SVF::AccessPath::IdxVarAndGepTypePairs</a></div><div class="ttdeci">std::vector&lt; IdxVarAndGepTypePair &gt; IdxVarAndGepTypePairs</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00065">AccessPath.h:65</a></div></div>
324
326
  <div class="ttc" id="aAccessPath_8h_html"><div class="ttname"><a href="AccessPath_8h.html">AccessPath.h</a></div></div>
325
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00243">AccessPath.cpp:243</a></div></div>
327
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00244">AccessPath.cpp:244</a></div></div>
326
328
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a2358a8194b5e2c4bcbb5218dee7fcbcd"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">SVF::AccessPath::addOffsetVarAndGepTypePair</a></div><div class="ttdeci">bool addOffsetVarAndGepTypePair(const SVFVar *var, const SVFType *gepIterType)</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00042">AccessPath.cpp:42</a></div></div>
327
329
  <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>
328
- <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#l00226">AccessPath.cpp:226</a></div></div>
330
+ <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#l00227">AccessPath.cpp:227</a></div></div>
329
331
  <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>
330
332
  <div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
331
333
  <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
332
334
  <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>
333
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00267">AccessPath.cpp:267</a></div></div>
335
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00268">AccessPath.cpp:268</a></div></div>
334
336
  <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>
335
337
  <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>
336
- <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#l00462">SVFType.h:462</a></div></div>
337
- <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>
338
+ <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#l00469">SVFType.h:469</a></div></div>
338
339
  <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>
339
340
  <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>
340
341
  <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>
341
- <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#l00429">SVFType.h:429</a></div></div>
342
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae746362c42da05a641ae062658e40651"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">SVF::AccessPath::computeConstantOffset</a></div><div class="ttdeci">APOffset computeConstantOffset() const</div><div class="ttdoc">For example,.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00184">AccessPath.cpp:184</a></div></div>
342
+ <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#l00436">SVFType.h:436</a></div></div>
343
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae746362c42da05a641ae062658e40651"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">SVF::AccessPath::computeConstantOffset</a></div><div class="ttdeci">APOffset computeConstantOffset() const</div><div class="ttdoc">For example,.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00185">AccessPath.cpp:185</a></div></div>
343
344
  <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>
344
345
  <div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
345
346
  <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>
346
- <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>
347
347
  <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>
348
348
  <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>
349
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00233">AccessPath.cpp:233</a></div></div>
349
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00234">AccessPath.cpp:234</a></div></div>
350
350
  <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>
351
351
  <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>
352
352
  <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>
353
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ac4f6bf6b6b257eb6b97b34f22d52eaf6"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ac4f6bf6b6b257eb6b97b34f22d52eaf6">SVF::AccessPath::getOffsetVarAndGepTypePairVec</a></div><div class="ttdeci">const IdxVarAndGepTypePairs &amp; getOffsetVarAndGepTypePairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00106">AccessPath.h:106</a></div></div>
353
354
  <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>
354
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00289">AccessPath.cpp:289</a></div></div>
355
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00290">AccessPath.cpp:290</a></div></div>
356
+ <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
355
357
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a></div><div class="ttdeci">LSRelation</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00059">AccessPath.h:59</a></div></div>
356
358
  <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>
357
359
  <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>