svf-tools 1.0.768 → 1.0.769

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 (308) 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/ConsG_8cpp_source.html +8 -8
  4. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  9. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/LLVMUtil_8h.html +2 -0
  14. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +146 -126
  15. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +11 -11
  17. package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +55 -55
  19. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8h_source.html +6 -6
  20. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +830 -748
  21. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +138 -127
  22. package/SVF-doxygen/html/html/SVFIR2Relation_8cpp_source.html +33 -33
  23. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +11 -11
  25. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +14 -14
  27. package/SVF-doxygen/html/html/SVFIR_8h_source.html +11 -11
  28. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +19 -19
  29. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +806 -799
  30. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +7 -7
  31. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
  32. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
  34. package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
  35. package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
  36. package/SVF-doxygen/html/html/classSVF_1_1AccessPath-members.html +27 -26
  37. package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +179 -124
  38. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +68 -68
  39. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +51 -51
  40. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
  41. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +35 -35
  42. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +97 -97
  43. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
  44. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  45. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  47. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  48. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +96 -95
  49. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +54 -19
  50. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  51. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +3 -3
  52. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +48 -48
  53. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +46 -46
  55. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +35 -35
  56. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +13 -13
  57. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +49 -49
  58. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState-members.html +45 -42
  59. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +961 -779
  60. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
  61. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
  62. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +38 -38
  63. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  64. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +22 -22
  65. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +21 -21
  66. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +44 -44
  67. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +15 -15
  68. package/SVF-doxygen/html/html/functions_a.html +14 -11
  69. package/SVF-doxygen/html/html/functions_c.html +24 -21
  70. package/SVF-doxygen/html/html/functions_f.html +3 -3
  71. package/SVF-doxygen/html/html/functions_func.html +9 -6
  72. package/SVF-doxygen/html/html/functions_func_c.html +19 -16
  73. package/SVF-doxygen/html/html/functions_func_g.html +24 -15
  74. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  75. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  76. package/SVF-doxygen/html/html/functions_g.html +24 -15
  77. package/SVF-doxygen/html/html/functions_i.html +3 -3
  78. package/SVF-doxygen/html/html/functions_l.html +5 -5
  79. package/SVF-doxygen/html/html/functions_o.html +7 -7
  80. package/SVF-doxygen/html/html/functions_p.html +12 -12
  81. package/SVF-doxygen/html/html/functions_r.html +4 -2
  82. package/SVF-doxygen/html/html/functions_s.html +18 -18
  83. package/SVF-doxygen/html/html/functions_v.html +6 -6
  84. package/SVF-doxygen/html/html/functions_w.html +9 -9
  85. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +78 -31
  86. package/SVF-doxygen/html/html/namespacemembers_func_s.html +3 -0
  87. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
  88. package/SVF-doxygen/html/html/search/all_1.js +459 -458
  89. package/SVF-doxygen/html/html/search/all_10.js +323 -323
  90. package/SVF-doxygen/html/html/search/all_11.js +212 -212
  91. package/SVF-doxygen/html/html/search/all_12.js +537 -536
  92. package/SVF-doxygen/html/html/search/all_13.js +188 -188
  93. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  94. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  95. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  96. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  97. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  98. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  99. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  100. package/SVF-doxygen/html/html/search/all_2.js +159 -159
  101. package/SVF-doxygen/html/html/search/all_3.js +627 -626
  102. package/SVF-doxygen/html/html/search/all_4.js +226 -226
  103. package/SVF-doxygen/html/html/search/all_5.js +117 -117
  104. package/SVF-doxygen/html/html/search/all_6.js +224 -224
  105. package/SVF-doxygen/html/html/search/all_7.js +1002 -999
  106. package/SVF-doxygen/html/html/search/all_8.js +191 -191
  107. package/SVF-doxygen/html/html/search/all_9.js +605 -605
  108. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  109. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  110. package/SVF-doxygen/html/html/search/all_c.js +114 -114
  111. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  112. package/SVF-doxygen/html/html/search/all_e.js +205 -205
  113. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  114. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  115. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  116. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  117. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  118. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  119. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  120. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  121. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  122. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  123. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  124. package/SVF-doxygen/html/html/search/classes_4.js +8 -8
  125. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  126. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  127. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  128. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  129. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  130. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  131. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  132. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  133. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  134. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  135. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  136. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  137. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  138. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  139. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  140. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  141. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  142. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  143. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  144. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  145. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  146. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  147. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  148. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  149. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  150. package/SVF-doxygen/html/html/search/defines_e.js +6 -6
  151. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  152. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  153. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  154. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  155. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  156. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  157. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  158. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  159. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  160. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  161. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  162. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  163. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  164. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  165. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  166. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  167. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  168. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  169. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  170. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  171. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  172. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  173. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  174. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  175. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  176. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  177. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  178. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  179. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  180. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  181. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  182. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  183. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  184. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  185. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  186. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  187. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  188. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  189. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  190. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  191. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  192. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  193. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  194. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  195. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  196. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  197. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  198. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  199. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  200. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  201. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  202. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  203. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  204. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  205. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  206. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  207. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  208. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  209. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  210. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  211. package/SVF-doxygen/html/html/search/functions_0.js +6 -6
  212. package/SVF-doxygen/html/html/search/functions_1.js +349 -348
  213. package/SVF-doxygen/html/html/search/functions_10.js +139 -139
  214. package/SVF-doxygen/html/html/search/functions_11.js +126 -126
  215. package/SVF-doxygen/html/html/search/functions_12.js +274 -273
  216. package/SVF-doxygen/html/html/search/functions_13.js +56 -56
  217. package/SVF-doxygen/html/html/search/functions_14.js +38 -38
  218. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  219. package/SVF-doxygen/html/html/search/functions_16.js +29 -29
  220. package/SVF-doxygen/html/html/search/functions_17.js +2 -2
  221. package/SVF-doxygen/html/html/search/functions_18.js +169 -169
  222. package/SVF-doxygen/html/html/search/functions_2.js +82 -82
  223. package/SVF-doxygen/html/html/search/functions_3.js +252 -251
  224. package/SVF-doxygen/html/html/search/functions_4.js +71 -71
  225. package/SVF-doxygen/html/html/search/functions_5.js +51 -51
  226. package/SVF-doxygen/html/html/search/functions_6.js +58 -58
  227. package/SVF-doxygen/html/html/search/functions_7.js +822 -819
  228. package/SVF-doxygen/html/html/search/functions_8.js +143 -143
  229. package/SVF-doxygen/html/html/search/functions_9.js +425 -425
  230. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  231. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  232. package/SVF-doxygen/html/html/search/functions_c.js +24 -24
  233. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  234. package/SVF-doxygen/html/html/search/functions_e.js +34 -34
  235. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  236. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  237. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  238. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  239. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  240. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  241. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  242. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  243. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  244. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  245. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  246. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  247. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  248. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  249. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  250. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  251. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  252. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  253. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  254. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  255. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  256. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  257. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  258. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  259. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  260. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  261. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  262. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  263. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  264. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  265. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  266. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  267. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  268. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  269. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  270. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  271. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  272. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  273. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  274. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  275. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  276. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  277. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  278. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  279. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  280. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  281. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  282. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  283. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  284. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  285. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  286. package/SVF-doxygen/html/html/search/variables_2.js +34 -34
  287. package/SVF-doxygen/html/html/search/variables_3.js +141 -141
  288. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  289. package/SVF-doxygen/html/html/search/variables_5.js +38 -38
  290. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  291. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  292. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  293. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  294. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  295. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  296. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  297. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  298. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  299. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  300. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  301. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
  302. package/package.json +1 -1
  303. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +14 -0
  304. package/svf/include/MemoryModel/AccessPath.h +6 -0
  305. package/svf/include/SVFIR/SVFStatements.h +10 -0
  306. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +154 -75
  307. package/svf/lib/MemoryModel/AccessPath.cpp +39 -0
  308. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +17 -0
@@ -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>