svf-tools 1.0.768 → 1.0.770

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 (503) hide show
  1. package/SVF-doxygen/html/html/AccessPath_8cpp_source.html +163 -130
  2. package/SVF-doxygen/html/html/AccessPath_8h_source.html +47 -45
  3. package/SVF-doxygen/html/html/AddressValue_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFGrammar_8cpp_source.html +3 -3
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +9 -9
  8. package/SVF-doxygen/html/html/CommandLine_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
  11. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +9 -9
  12. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
  20. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +60 -67
  21. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +9 -9
  22. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +19 -19
  32. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1108 -1111
  33. package/SVF-doxygen/html/html/LLVMUtil_8h.html +2 -0
  34. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +191 -172
  35. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  36. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  39. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/RelExeState_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +13 -13
  46. package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +13 -13
  47. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +56 -56
  51. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8h_source.html +6 -6
  52. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +831 -749
  53. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +138 -127
  54. package/SVF-doxygen/html/html/SVFIR2Relation_8cpp_source.html +33 -33
  55. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +11 -11
  56. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +11 -11
  57. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +11 -12
  58. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +15 -15
  59. package/SVF-doxygen/html/html/SVFIR_8h_source.html +11 -11
  60. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +20 -20
  61. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +806 -799
  62. package/SVF-doxygen/html/html/SVFType_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/SVFUtil_8h.html +0 -12
  65. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +300 -333
  66. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +1 -1
  67. package/SVF-doxygen/html/html/SVFValue_8h_source.html +2 -2
  68. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +8 -8
  70. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
  71. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/SymState_8cpp_source.html +1 -1
  74. package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
  75. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +52 -62
  76. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  77. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
  79. package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
  80. package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
  81. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/cJSON_8cpp.html +3 -2
  83. package/SVF-doxygen/html/html/cJSON_8cpp_source.html +3 -2
  84. package/SVF-doxygen/html/html/classOption.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1AccessPath-members.html +27 -26
  86. package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +179 -124
  87. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +69 -69
  94. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +52 -52
  96. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  97. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +9 -9
  101. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +36 -36
  103. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +98 -98
  104. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
  107. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
  116. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +51 -56
  120. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +96 -95
  126. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +55 -20
  127. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +3 -3
  129. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +3 -3
  130. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  131. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +19 -19
  139. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
  147. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +48 -48
  148. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +47 -47
  155. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1RelExeState.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +36 -36
  161. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +14 -14
  167. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +49 -49
  168. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState-members.html +45 -42
  169. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +962 -780
  170. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +21 -22
  171. package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +2 -2
  172. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +24 -24
  175. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +8 -8
  176. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +39 -39
  177. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1SymState.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +51 -61
  182. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +23 -23
  184. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +22 -22
  185. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +45 -45
  186. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +15 -15
  188. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +1 -1
  194. package/SVF-doxygen/html/html/extapi_8c.html +1487 -302
  195. package/SVF-doxygen/html/html/extapi_8c_source.html +1120 -1164
  196. package/SVF-doxygen/html/html/functions_a.html +14 -11
  197. package/SVF-doxygen/html/html/functions_c.html +24 -21
  198. package/SVF-doxygen/html/html/functions_f.html +3 -3
  199. package/SVF-doxygen/html/html/functions_func.html +9 -6
  200. package/SVF-doxygen/html/html/functions_func_c.html +19 -16
  201. package/SVF-doxygen/html/html/functions_func_g.html +24 -15
  202. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  203. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  204. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  205. package/SVF-doxygen/html/html/functions_g.html +24 -15
  206. package/SVF-doxygen/html/html/functions_h.html +1 -1
  207. package/SVF-doxygen/html/html/functions_i.html +3 -3
  208. package/SVF-doxygen/html/html/functions_l.html +5 -5
  209. package/SVF-doxygen/html/html/functions_o.html +7 -7
  210. package/SVF-doxygen/html/html/functions_p.html +12 -12
  211. package/SVF-doxygen/html/html/functions_r.html +4 -2
  212. package/SVF-doxygen/html/html/functions_s.html +18 -18
  213. package/SVF-doxygen/html/html/functions_v.html +6 -6
  214. package/SVF-doxygen/html/html/functions_w.html +9 -9
  215. package/SVF-doxygen/html/html/globals.html +20 -2
  216. package/SVF-doxygen/html/html/globals_a.html +3 -0
  217. package/SVF-doxygen/html/html/globals_b.html +10 -4
  218. package/SVF-doxygen/html/html/globals_c.html +8 -4
  219. package/SVF-doxygen/html/html/globals_d.html +9 -0
  220. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  221. package/SVF-doxygen/html/html/globals_func.html +18 -399
  222. package/SVF-doxygen/html/html/globals_func_a.html +91 -0
  223. package/SVF-doxygen/html/html/globals_func_b.html +14 -20
  224. package/SVF-doxygen/html/html/globals_func_c.html +16 -849
  225. package/SVF-doxygen/html/html/globals_func_d.html +14 -275
  226. package/SVF-doxygen/html/html/globals_func_e.html +8 -97
  227. package/SVF-doxygen/html/html/globals_func_f.html +17 -20
  228. package/SVF-doxygen/html/html/globals_func_g.html +72 -25
  229. package/SVF-doxygen/html/html/globals_func_h.html +9 -6
  230. package/SVF-doxygen/html/html/globals_func_i.html +49 -31
  231. package/SVF-doxygen/html/html/globals_func_j.html +79 -0
  232. package/SVF-doxygen/html/html/globals_func_l.html +15 -9
  233. package/SVF-doxygen/html/html/globals_func_m.html +13 -87
  234. package/SVF-doxygen/html/html/globals_func_n.html +79 -0
  235. package/SVF-doxygen/html/html/globals_func_p.html +13 -22
  236. package/SVF-doxygen/html/html/globals_func_r.html +16 -28
  237. package/SVF-doxygen/html/html/globals_func_s.html +32 -128
  238. package/SVF-doxygen/html/html/globals_func_t.html +18 -9
  239. package/SVF-doxygen/html/html/globals_func_u.html +8 -18
  240. package/SVF-doxygen/html/html/globals_func_w.html +8 -5
  241. package/SVF-doxygen/html/html/globals_func_z.html +10 -73
  242. package/SVF-doxygen/html/html/globals_g.html +54 -0
  243. package/SVF-doxygen/html/html/globals_l.html +6 -0
  244. package/SVF-doxygen/html/html/globals_n.html +5 -2
  245. package/SVF-doxygen/html/html/globals_p.html +4 -1
  246. package/SVF-doxygen/html/html/globals_r.html +11 -8
  247. package/SVF-doxygen/html/html/globals_s.html +6 -0
  248. package/SVF-doxygen/html/html/globals_t.html +6 -0
  249. package/SVF-doxygen/html/html/globals_z.html +3 -0
  250. package/SVF-doxygen/html/html/iterator_8h_source.html +1 -1
  251. package/SVF-doxygen/html/html/iterator__range_8h_source.html +1 -1
  252. package/SVF-doxygen/html/html/menudata.js +20 -17
  253. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  254. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1058 -1014
  255. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +206 -383
  256. package/SVF-doxygen/html/html/namespacemembers_func_i.html +2 -11
  257. package/SVF-doxygen/html/html/namespacemembers_func_s.html +3 -0
  258. package/SVF-doxygen/html/html/namespacemembers_i.html +5 -14
  259. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
  260. package/SVF-doxygen/html/html/search/all_0.js +158 -152
  261. package/SVF-doxygen/html/html/search/all_1.js +478 -476
  262. package/SVF-doxygen/html/html/search/all_10.js +324 -323
  263. package/SVF-doxygen/html/html/search/all_11.js +213 -212
  264. package/SVF-doxygen/html/html/search/all_12.js +539 -536
  265. package/SVF-doxygen/html/html/search/all_13.js +190 -188
  266. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  267. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  268. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  269. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  270. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  271. package/SVF-doxygen/html/html/search/all_19.js +11 -10
  272. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  273. package/SVF-doxygen/html/html/search/all_2.js +161 -159
  274. package/SVF-doxygen/html/html/search/all_3.js +628 -626
  275. package/SVF-doxygen/html/html/search/all_4.js +229 -226
  276. package/SVF-doxygen/html/html/search/all_5.js +117 -117
  277. package/SVF-doxygen/html/html/search/all_6.js +224 -224
  278. package/SVF-doxygen/html/html/search/all_7.js +1020 -999
  279. package/SVF-doxygen/html/html/search/all_8.js +191 -191
  280. package/SVF-doxygen/html/html/search/all_9.js +602 -605
  281. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  282. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  283. package/SVF-doxygen/html/html/search/all_c.js +116 -114
  284. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  285. package/SVF-doxygen/html/html/search/all_e.js +206 -205
  286. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  287. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  288. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  289. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  290. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  291. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  292. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  293. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  294. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  295. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  296. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  297. package/SVF-doxygen/html/html/search/classes_4.js +8 -8
  298. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  299. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  300. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  301. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  302. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  303. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  304. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  305. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  306. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  307. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  308. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  309. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  310. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  311. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  312. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  313. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  314. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  315. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  316. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  317. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  318. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  319. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  320. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  321. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  322. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  323. package/SVF-doxygen/html/html/search/defines_e.js +7 -6
  324. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  325. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  326. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  327. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  328. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  329. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  330. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  331. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  332. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  333. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  334. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  335. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  336. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  337. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  338. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  339. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  340. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  341. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  342. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  343. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  344. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  345. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  346. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  347. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  348. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  349. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  350. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  351. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  352. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  353. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  354. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  355. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  356. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  357. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  358. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  359. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  360. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  361. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  362. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  363. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  364. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  365. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  366. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  367. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  368. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  369. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  370. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  371. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  372. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  373. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  374. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  375. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  376. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  377. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  378. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  379. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  380. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  381. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  382. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  383. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  384. package/SVF-doxygen/html/html/search/functions_0.js +12 -6
  385. package/SVF-doxygen/html/html/search/functions_1.js +350 -348
  386. package/SVF-doxygen/html/html/search/functions_10.js +140 -139
  387. package/SVF-doxygen/html/html/search/functions_11.js +127 -126
  388. package/SVF-doxygen/html/html/search/functions_12.js +275 -273
  389. package/SVF-doxygen/html/html/search/functions_13.js +58 -56
  390. package/SVF-doxygen/html/html/search/functions_14.js +38 -38
  391. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  392. package/SVF-doxygen/html/html/search/functions_16.js +29 -29
  393. package/SVF-doxygen/html/html/search/functions_17.js +3 -2
  394. package/SVF-doxygen/html/html/search/functions_18.js +169 -169
  395. package/SVF-doxygen/html/html/search/functions_2.js +84 -82
  396. package/SVF-doxygen/html/html/search/functions_3.js +253 -251
  397. package/SVF-doxygen/html/html/search/functions_4.js +74 -71
  398. package/SVF-doxygen/html/html/search/functions_5.js +51 -51
  399. package/SVF-doxygen/html/html/search/functions_6.js +58 -58
  400. package/SVF-doxygen/html/html/search/functions_7.js +840 -819
  401. package/SVF-doxygen/html/html/search/functions_8.js +143 -143
  402. package/SVF-doxygen/html/html/search/functions_9.js +422 -425
  403. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  404. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  405. package/SVF-doxygen/html/html/search/functions_c.js +26 -24
  406. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  407. package/SVF-doxygen/html/html/search/functions_e.js +35 -34
  408. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  409. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  410. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  411. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  412. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  413. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  414. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  415. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  416. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  417. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  418. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  419. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  420. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  421. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  422. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  423. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  424. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  425. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  426. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  427. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  428. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  429. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  430. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  431. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  432. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  433. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  434. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  435. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  436. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  437. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  438. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  439. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  440. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  441. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  442. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  443. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  444. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  445. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  446. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  447. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  448. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  449. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  450. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  451. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  452. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  453. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  454. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  455. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  456. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  457. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  458. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  459. package/SVF-doxygen/html/html/search/variables_2.js +34 -34
  460. package/SVF-doxygen/html/html/search/variables_3.js +141 -141
  461. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  462. package/SVF-doxygen/html/html/search/variables_5.js +38 -38
  463. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  464. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  465. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  466. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  467. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  468. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  469. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  470. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  471. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  472. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  473. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  474. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  475. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable.html +1 -1
  476. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html +1 -1
  477. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map.html +1 -1
  478. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  479. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  480. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container.html +1 -1
  481. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  482. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  483. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  484. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set.html +1 -1
  485. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  486. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  487. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1make__void.html +2 -2
  488. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
  489. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  490. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  491. package/package.json +1 -1
  492. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +14 -0
  493. package/svf/include/MemoryModel/AccessPath.h +6 -0
  494. package/svf/include/SVFIR/SVFStatements.h +10 -0
  495. package/svf/include/Util/SVFUtil.h +0 -34
  496. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +154 -75
  497. package/svf/lib/MemoryModel/AccessPath.cpp +39 -0
  498. package/svf/lib/Util/ExtAPI.cpp +0 -6
  499. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +19 -2
  500. package/svf-llvm/lib/LLVMUtil.cpp +0 -2
  501. package/svf-llvm/lib/SVFIRExtAPI.cpp +1 -1
  502. package/svf-llvm/lib/SymbolTableBuilder.cpp +0 -9
  503. package/svf-llvm/lib/extapi.c +210 -295
@@ -122,6 +122,8 @@ Public Member Functions</h2></td></tr>
122
122
  <tr class="separator:ab95df74c97fba13206df48e00131e15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
123
  <tr class="memitem:ab0641554924d44f16c2831cac63ccf8b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a> () const</td></tr>
124
124
  <tr class="separator:ab0641554924d44f16c2831cac63ccf8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
+ <tr class="memitem:afca303a7a5bde9a8ef56ae728d414553"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#afca303a7a5bde9a8ef56ae728d414553">computeConstantByteOffset</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> elemBytesize) const</td></tr>
126
+ <tr class="separator:afca303a7a5bde9a8ef56ae728d414553"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
127
  <tr class="memitem:ae746362c42da05a641ae062658e40651"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">computeConstantOffset</a> () const</td></tr>
126
128
  <tr class="memdesc:ae746362c42da05a641ae062658e40651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return accumulated constant offset given OffsetVarVec. <a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">More...</a><br /></td></tr>
127
129
  <tr class="separator:ae746362c42da05a641ae062658e40651"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -396,26 +398,26 @@ Friends</h2></td></tr>
396
398
 
397
399
  <p>Check relations of two location sets. </p>
398
400
 
399
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00201">201</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
400
- <div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;{</div>
401
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</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>
402
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</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>
403
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
404
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
405
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
406
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
407
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</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>
408
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
409
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</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>
410
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
411
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">else</span></div>
412
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
413
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
414
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">else</span></div>
415
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; {</div>
416
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
417
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; }</div>
418
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div>
401
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00240">240</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
402
+ <div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;{</div>
403
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
404
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
405
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
406
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div>
407
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
408
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
409
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
410
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
411
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
412
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
413
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">else</span></div>
414
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
415
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div>
416
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">else</span></div>
417
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div>
418
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
419
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
420
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;}</div>
419
421
  </div><!-- fragment -->
420
422
  </div>
421
423
  </div>
@@ -445,12 +447,65 @@ Friends</h2></td></tr>
445
447
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
446
448
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
447
449
 
448
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00160">160</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
449
- <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div>
450
- <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
451
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>());</div>
452
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> result;</div>
453
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;}</div>
450
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00199">199</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
451
+ <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;{</div>
452
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
453
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>());</div>
454
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> result;</div>
455
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
456
+ </div><!-- fragment -->
457
+ </div>
458
+ </div>
459
+ <a id="afca303a7a5bde9a8ef56ae728d414553"></a>
460
+ <h2 class="memtitle"><span class="permalink"><a href="#afca303a7a5bde9a8ef56ae728d414553">&#9670;&nbsp;</a></span>computeConstantByteOffset()</h2>
461
+
462
+ <div class="memitem">
463
+ <div class="memproto">
464
+ <table class="memname">
465
+ <tr>
466
+ <td class="memname"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> AccessPath::computeConstantByteOffset </td>
467
+ <td>(</td>
468
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
469
+ <td class="paramname"><em>elemBytesize</em></td><td>)</td>
470
+ <td> const</td>
471
+ </tr>
472
+ </table>
473
+ </div><div class="memdoc">
474
+ <p>Return accumulated constant byte offset given OffsetVarVec and elemByteSize elemBytesize is the element byte size of an static alloc or heap alloc array e.g. GepStmt* gep = **, s32_t elemBytesize = <a class="el" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92">LLVMUtil::SVFType2ByteSize</a>(gep-&gt;getRHSVar()-&gt;getValue()-&gt;getType()); APOffset byteOffset = gep-&gt;accumulateConstantByteOffset(elemBytesize);</p>
475
+ <p>Return accumulated constant offset</p>
476
+ <p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector and elem byte size: [(value1,type1), (value2,type2), (value3,type3)], bytesize totalConstByteOffset = ByteOffset(value1,type1) * ByteOffset(value2,type2) + ByteOffset(value3,type3) For a pointer type (e.g., t1 is PointerType), we will retrieve the pointee type and times the offset, i.e., getElementNum(t1) X off1 </p>
477
+
478
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00097">97</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
479
+ <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;{</div>
480
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
481
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; </div>
482
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
483
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>() * elemBytesize;</div>
484
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
485
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
486
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
487
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
488
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
489
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
490
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
491
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
492
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
493
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
494
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * elemBytesize;</div>
495
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">continue</span>;</div>
496
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
497
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
498
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
499
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType()) * elemBytesize;</div>
500
+ <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">else</span></div>
501
+ <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div>
502
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
503
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// if getByteOffset is false, it will retrieve flatten idx</span></div>
504
+ <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> * elemBytesize;</div>
505
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
506
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
507
+ <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
508
+ <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div>
454
509
  </div><!-- fragment -->
455
510
  </div>
456
511
  </div>
@@ -474,45 +529,45 @@ Friends</h2></td></tr>
474
529
  <p>Return accumulated constant offset</p>
475
530
  <p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector: [(value1,type1), (value2,type2), (value3,type3)] totalConstOffset = flattenOffset(value1,type1) * flattenOffset(value2,type2) + flattenOffset(value3,type3) For a pointer type (e.g., t1 is PointerType), we will retrieve the pointee type and times the offset, i.e., getElementNum(t1) X off1 %5 = getelementptr inbounds struct.Student, struct.Student* %4, i64 1 value1: i64 1 type1: struct.Student* computeConstantOffset = 32 %6 = getelementptr inbounds struct.Student, struct.Student* %5, i32 0, i32 1 value1: i32 0 type1: struct.Student* value2: i32 1 type2: struct.Student = type { struct.inner, [10 x [3 x i8]] } computeConstantOffset = 2 %7 = getelementptr inbounds [10 x [3 x i8]], [10 x [3 x i8]]* %6, i64 0, i64 3 value1: i64 0 type1: [10 x [3 x i8]]* value2: i64 3 type2: [10 x [3 x i8]] computeConstantOffset = 9 %8 = getelementptr inbounds [3 x i8], [3 x i8]* %7, i64 0, i64 2 value1: i64 0 type1: [3 x i8]* value2: i64 2 type2: [3 x i8] computeConstantOffset = 2 </p>
476
531
 
477
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00118">118</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
478
- <div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;{</div>
479
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; </div>
480
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
481
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; </div>
482
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
483
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
484
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
485
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
486
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
487
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div>
488
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
489
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
490
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
491
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
492
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
493
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div>
494
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
495
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">continue</span>;</div>
496
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; }</div>
497
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; </div>
498
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
499
- <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
500
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">else</span></div>
501
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div>
502
- <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
503
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
504
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div>
505
- <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
506
- <div class="line"><a name="l00147"></a><span class="lineno"> 147</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>
507
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
508
- <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; totalConstOffset += flattenOffset;</div>
509
- <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
510
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">else</span></div>
511
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
512
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
513
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div>
514
- <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
515
- <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;}</div>
532
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00157">157</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
533
+ <div class="fragment"><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div>
534
+ <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
535
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div>
536
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; </div>
537
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.empty())</div>
538
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
539
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; </div>
540
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
541
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>.size() - 1; i &gt;= 0; i--)</div>
542
+ <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div>
543
+ <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].first-&gt;getValue();</div>
544
+ <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">offsetVarAndGepTypePairs</a>[i].second;</div>
545
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
546
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
547
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
548
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
549
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
550
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">continue</span>;</div>
551
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
552
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
553
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
554
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
555
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">else</span></div>
556
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div>
557
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
558
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
559
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div>
560
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
561
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
562
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
563
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; totalConstOffset += flattenOffset;</div>
564
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
565
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">else</span></div>
566
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; totalConstOffset += <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
567
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
568
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div>
569
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
570
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;}</div>
516
571
  </div><!-- fragment -->
517
572
  </div>
518
573
  </div>
@@ -533,24 +588,24 @@ Friends</h2></td></tr>
533
588
 
534
589
  <p>Dump location set. </p>
535
590
 
536
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00223">223</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
537
- <div class="fragment"><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;{</div>
538
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
539
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; std::stringstream rawstr(str);</div>
540
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; </div>
541
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
542
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
543
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
544
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = vec.begin();</div>
545
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; OffsetVarAndGepTypePairs::const_iterator eit = vec.end();</div>
546
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
547
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div>
548
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
549
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</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>
550
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
551
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
552
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
553
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</div>
591
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00262">262</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
592
+ <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;{</div>
593
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
594
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; std::stringstream rawstr(str);</div>
595
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; </div>
596
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
597
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
598
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
599
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = vec.begin();</div>
600
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; OffsetVarAndGepTypePairs::const_iterator eit = vec.end();</div>
601
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
602
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
603
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
604
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (Svf var: &quot;</span> &lt;&lt; it-&gt;first-&gt;<a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() &lt;&lt; <span class="stringliteral">&quot;, Iter type: &quot;</span> &lt;&lt; *ty &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
605
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
606
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
607
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
608
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;}</div>
554
609
  </div><!-- fragment -->
555
610
  </div>
556
611
  </div>
@@ -690,10 +745,10 @@ Friends</h2></td></tr>
690
745
 
691
746
  <p>Return TRUE if we share any location in common with RHS. </p>
692
747
 
693
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00125">125</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
694
- <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
695
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.computeAllLocations());</div>
696
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
748
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00131">131</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
749
+ <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
750
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(RHS.computeAllLocations());</div>
751
+ <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div>
697
752
  </div><!-- fragment -->
698
753
  </div>
699
754
  </div>
@@ -745,15 +800,15 @@ Friends</h2></td></tr>
745
800
 
746
801
  <p>Overload operators. </p>
747
802
 
748
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00167">167</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
749
- <div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div>
750
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
751
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
752
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getOffsetVarAndGepTypePairVec())</div>
753
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; ap.addOffsetVarAndGepTypePair(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
754
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; </div>
755
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> ap;</div>
756
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;}</div>
803
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00206">206</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
804
+ <div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div>
805
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
806
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">getConstantFieldIdx</a>();</div>
807
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getOffsetVarAndGepTypePairVec())</div>
808
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; ap.addOffsetVarAndGepTypePair(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
809
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; </div>
810
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> ap;</div>
811
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;}</div>
757
812
  </div><!-- fragment -->
758
813
  </div>
759
814
  </div>
@@ -773,29 +828,29 @@ Friends</h2></td></tr>
773
828
  </table>
774
829
  </div><div class="memdoc">
775
830
 
776
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00177">177</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
777
- <div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;{</div>
778
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
779
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
780
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">else</span></div>
781
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div>
782
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
783
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</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>
784
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
785
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
786
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">else</span></div>
787
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
788
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
789
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; OffsetVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
790
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
791
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
792
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
793
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div>
794
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
795
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
796
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div>
797
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div>
798
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;}</div>
831
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00216">216</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
832
+ <div class="fragment"><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;{</div>
833
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
834
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
835
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">else</span></div>
836
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
837
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
838
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a73ba2fd20ff0e21a2f09a3396f2596f8">OffsetVarAndGepTypePairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#ab0641554924d44f16c2831cac63ccf8b">getOffsetVarAndGepTypePairVec</a>();</div>
839
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
840
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
841
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">else</span></div>
842
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
843
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; OffsetVarAndGepTypePairs::const_iterator it = pairVec.begin();</div>
844
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; OffsetVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();</div>
845
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
846
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
847
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
848
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
849
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
850
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
851
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
852
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
853
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
799
854
  </div><!-- fragment -->
800
855
  </div>
801
856
  </div>
@@ -991,7 +1046,7 @@ Friends</h2></td></tr>
991
1046
 
992
1047
  <p>Accumulated Constant Offsets. </p>
993
1048
 
994
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00141">141</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1049
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00147">147</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
995
1050
 
996
1051
  </div>
997
1052
  </div>
@@ -1017,7 +1072,7 @@ Friends</h2></td></tr>
1017
1072
 
1018
1073
  <p>a vector of actual offset in the form of &lt;<a class="el" href="namespaceSVF.html" title="for isBitcode">SVF</a> Var, iterator type&gt;s </p>
1019
1074
 
1020
- <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00142">142</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1075
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00148">148</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
1021
1076
 
1022
1077
  </div>
1023
1078
  </div>
@@ -1035,7 +1090,7 @@ Friends</h2></td></tr>
1035
1090
  <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00332">SVFType.h:332</a></div></div>
1036
1091
  <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>
1037
1092
  <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>
1038
- <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#l00160">AccessPath.cpp:160</a></div></div>
1093
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00199">AccessPath.cpp:199</a></div></div>
1039
1094
  <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>
1040
1095
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">SVF::AccessPath::Same</a></div><div class="ttdeci">@ Same</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1041
1096
  <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>
@@ -1053,9 +1108,9 @@ Friends</h2></td></tr>
1053
1108
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">SVF::AccessPath::Superset</a></div><div class="ttdeci">@ Superset</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1054
1109
  <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>
1055
1110
  <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>
1056
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa9f0a1290083a9b077c6065cad054163"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">SVF::AccessPath::offsetVarAndGepTypePairs</a></div><div class="ttdeci">OffsetVarAndGepTypePairs offsetVarAndGepTypePairs</div><div class="ttdoc">a vector of actual offset in the form of &lt;SVF Var, iterator type&gt;s</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00142">AccessPath.h:142</a></div></div>
1111
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa9f0a1290083a9b077c6065cad054163"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa9f0a1290083a9b077c6065cad054163">SVF::AccessPath::offsetVarAndGepTypePairs</a></div><div class="ttdeci">OffsetVarAndGepTypePairs offsetVarAndGepTypePairs</div><div class="ttdoc">a vector of actual offset in the form of &lt;SVF Var, iterator type&gt;s</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00148">AccessPath.h:148</a></div></div>
1057
1112
  <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>
1058
- <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#l00141">AccessPath.h:141</a></div></div>
1113
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa1747064a0833855a5848ebf4a4d65fa"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">SVF::AccessPath::fldIdx</a></div><div class="ttdeci">APOffset fldIdx</div><div class="ttdoc">Accumulated Constant Offsets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00147">AccessPath.h:147</a></div></div>
1059
1114
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">SVF::AccessPath::Subset</a></div><div class="ttdeci">@ Subset</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
1060
1115
  <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#l00956">SVFValue.h:956</a></div></div>
1061
1116
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
@@ -612,7 +612,7 @@ Additional Inherited Members</h2></td></tr>
612
612
  <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>
613
613
  <div class="ttc" id="aclassSVF_1_1MemRegion_html_a7d38f6ef18106eb388b3a289aad79802"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">SVF::MemRegion::getMRID</a></div><div class="ttdeci">MRID getMRID() const</div><div class="ttdoc">Return memory region ID.</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00078">MemRegion.h:78</a></div></div>
614
614
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">SVF::VFGNode::APIN</a></div><div class="ttdeci">@ APIN</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
615
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01159">LLVMUtil.cpp:1159</a></div></div>
615
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01157">LLVMUtil.cpp:1157</a></div></div>
616
616
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
617
617
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00253">SVFValue.h:253</a></div></div>
618
618
  <div class="ttc" id="aclassSVF_1_1ActualINSVFGNode_html_aa92b36228a6f42496984cfea32f3415c"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c">SVF::ActualINSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00200">SVFGNode.h:200</a></div></div>
@@ -613,7 +613,7 @@ Additional Inherited Members</h2></td></tr>
613
613
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">SVF::VFGNode::APOUT</a></div><div class="ttdeci">@ APOUT</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
614
614
  <div class="ttc" id="aclassSVF_1_1MemRegion_html_a7d38f6ef18106eb388b3a289aad79802"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">SVF::MemRegion::getMRID</a></div><div class="ttdeci">MRID getMRID() const</div><div class="ttdoc">Return memory region ID.</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00078">MemRegion.h:78</a></div></div>
615
615
  <div class="ttc" id="aclassSVF_1_1ActualOUTSVFGNode_html_a3e3a14a042d75e5613eb049a9eb4fac5"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5">SVF::ActualOUTSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00249">SVFGNode.h:249</a></div></div>
616
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01159">LLVMUtil.cpp:1159</a></div></div>
616
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01157">LLVMUtil.cpp:1157</a></div></div>
617
617
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
618
618
  <div class="ttc" id="aclassSVF_1_1ActualOUTSVFGNode_html_a9b0ad566d3fab6336d84ba07f541370f"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f">SVF::ActualOUTSVFGNode::ver</a></div><div class="ttdeci">const MRVer * ver</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00233">SVFGNode.h:233</a></div></div>
619
619
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00253">SVFValue.h:253</a></div></div>