svf-tools 1.0.811 → 1.0.813

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 (341) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +159 -136
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +45 -42
  3. package/SVF-doxygen/html/ConsExeState_8cpp_source.html +21 -21
  4. package/SVF-doxygen/html/ConsExeState_8h_source.html +384 -385
  5. package/SVF-doxygen/html/ConsG_8cpp_source.html +8 -8
  6. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/ExeState_8cpp_source.html +24 -24
  8. package/SVF-doxygen/html/ExeState_8h_source.html +227 -217
  9. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
  12. package/SVF-doxygen/html/ICFG_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +8 -8
  15. package/SVF-doxygen/html/IntervalExeState_8h_source.html +412 -408
  16. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/RelationSolver_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +13 -13
  19. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +11 -11
  20. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +273 -272
  21. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +28 -28
  22. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +980 -973
  23. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +169 -169
  24. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +33 -33
  25. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +11 -11
  27. package/SVF-doxygen/html/SVFIR_8cpp_source.html +14 -14
  28. package/SVF-doxygen/html/SVFIR_8h_source.html +11 -11
  29. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +19 -19
  30. package/SVF-doxygen/html/SVFStatements_8h_source.html +829 -830
  31. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +7 -7
  32. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
  33. package/SVF-doxygen/html/SymState_8h_source.html +1 -1
  34. package/SVF-doxygen/html/VFGNode_8h_source.html +7 -7
  35. package/SVF-doxygen/html/VFG_8cpp_source.html +15 -15
  36. package/SVF-doxygen/html/VFG_8h_source.html +10 -10
  37. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +18 -17
  38. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +206 -153
  39. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
  40. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
  41. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
  42. package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
  43. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
  44. package/SVF-doxygen/html/classSVF_1_1ConsExeState-members.html +74 -74
  45. package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +412 -394
  46. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +8 -8
  47. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +1 -1
  48. package/SVF-doxygen/html/classSVF_1_1ExeState-members.html +34 -34
  49. package/SVF-doxygen/html/classSVF_1_1ExeState.html +287 -272
  50. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +1 -1
  51. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
  52. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  53. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +37 -37
  54. package/SVF-doxygen/html/classSVF_1_1ICFG.html +2 -2
  55. package/SVF-doxygen/html/classSVF_1_1IntervalExeState-members.html +78 -78
  56. package/SVF-doxygen/html/classSVF_1_1IntervalExeState.html +445 -434
  57. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  58. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  59. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
  60. package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +3 -3
  61. package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
  62. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +13 -13
  63. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState-members.html +28 -28
  64. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +296 -295
  65. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +15 -16
  66. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1087 -1128
  67. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +4 -4
  68. package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1 -1
  69. package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +1 -1
  70. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +7 -7
  71. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
  72. package/SVF-doxygen/html/classSVF_1_1SymState.html +2 -2
  73. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
  74. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
  75. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
  76. package/SVF-doxygen/html/classSVF_1_1VFG.html +15 -15
  77. package/SVF-doxygen/html/functions.html +6 -6
  78. package/SVF-doxygen/html/functions_a.html +13 -8
  79. package/SVF-doxygen/html/functions_b.html +3 -3
  80. package/SVF-doxygen/html/functions_e.html +2 -2
  81. package/SVF-doxygen/html/functions_func_e.html +2 -2
  82. package/SVF-doxygen/html/functions_func_g.html +44 -45
  83. package/SVF-doxygen/html/functions_func_i.html +12 -22
  84. package/SVF-doxygen/html/functions_func_l.html +6 -6
  85. package/SVF-doxygen/html/functions_func_n.html +3 -3
  86. package/SVF-doxygen/html/functions_func_p.html +1 -1
  87. package/SVF-doxygen/html/functions_func_s.html +7 -7
  88. package/SVF-doxygen/html/functions_func_w.html +3 -3
  89. package/SVF-doxygen/html/functions_g.html +42 -43
  90. package/SVF-doxygen/html/functions_i.html +30 -37
  91. package/SVF-doxygen/html/functions_l.html +8 -8
  92. package/SVF-doxygen/html/functions_n.html +7 -7
  93. package/SVF-doxygen/html/functions_o.html +20 -21
  94. package/SVF-doxygen/html/functions_p.html +12 -12
  95. package/SVF-doxygen/html/functions_r.html +3 -1
  96. package/SVF-doxygen/html/functions_s.html +18 -20
  97. package/SVF-doxygen/html/functions_t.html +10 -10
  98. package/SVF-doxygen/html/functions_type.html +5 -0
  99. package/SVF-doxygen/html/functions_type_i.html +4 -4
  100. package/SVF-doxygen/html/functions_type_v.html +3 -8
  101. package/SVF-doxygen/html/functions_v.html +10 -13
  102. package/SVF-doxygen/html/functions_vars.html +6 -6
  103. package/SVF-doxygen/html/functions_vars_g.html +2 -2
  104. package/SVF-doxygen/html/functions_vars_i.html +3 -0
  105. package/SVF-doxygen/html/functions_vars_o.html +0 -3
  106. package/SVF-doxygen/html/functions_w.html +11 -11
  107. package/SVF-doxygen/html/search/all_0.js +4 -4
  108. package/SVF-doxygen/html/search/all_1.js +210 -209
  109. package/SVF-doxygen/html/search/all_10.js +324 -324
  110. package/SVF-doxygen/html/search/all_11.js +222 -222
  111. package/SVF-doxygen/html/search/all_12.js +544 -544
  112. package/SVF-doxygen/html/search/all_13.js +191 -191
  113. package/SVF-doxygen/html/search/all_14.js +67 -67
  114. package/SVF-doxygen/html/search/all_15.js +167 -169
  115. package/SVF-doxygen/html/search/all_16.js +63 -63
  116. package/SVF-doxygen/html/search/all_17.js +1 -1
  117. package/SVF-doxygen/html/search/all_18.js +1 -1
  118. package/SVF-doxygen/html/search/all_19.js +11 -11
  119. package/SVF-doxygen/html/search/all_1a.js +172 -172
  120. package/SVF-doxygen/html/search/all_2.js +169 -169
  121. package/SVF-doxygen/html/search/all_3.js +642 -642
  122. package/SVF-doxygen/html/search/all_4.js +233 -233
  123. package/SVF-doxygen/html/search/all_5.js +119 -119
  124. package/SVF-doxygen/html/search/all_6.js +225 -225
  125. package/SVF-doxygen/html/search/all_7.js +868 -868
  126. package/SVF-doxygen/html/search/all_8.js +197 -197
  127. package/SVF-doxygen/html/search/all_9.js +606 -611
  128. package/SVF-doxygen/html/search/all_a.js +46 -46
  129. package/SVF-doxygen/html/search/all_b.js +26 -26
  130. package/SVF-doxygen/html/search/all_c.js +116 -116
  131. package/SVF-doxygen/html/search/all_d.js +196 -196
  132. package/SVF-doxygen/html/search/all_e.js +207 -207
  133. package/SVF-doxygen/html/search/all_f.js +115 -116
  134. package/SVF-doxygen/html/search/classes_0.js +26 -26
  135. package/SVF-doxygen/html/search/classes_1.js +9 -9
  136. package/SVF-doxygen/html/search/classes_10.js +73 -73
  137. package/SVF-doxygen/html/search/classes_11.js +15 -15
  138. package/SVF-doxygen/html/search/classes_12.js +2 -2
  139. package/SVF-doxygen/html/search/classes_13.js +10 -10
  140. package/SVF-doxygen/html/search/classes_14.js +14 -14
  141. package/SVF-doxygen/html/search/classes_15.js +1 -1
  142. package/SVF-doxygen/html/search/classes_2.js +80 -80
  143. package/SVF-doxygen/html/search/classes_3.js +37 -37
  144. package/SVF-doxygen/html/search/classes_4.js +9 -9
  145. package/SVF-doxygen/html/search/classes_5.js +28 -28
  146. package/SVF-doxygen/html/search/classes_6.js +104 -104
  147. package/SVF-doxygen/html/search/classes_7.js +33 -33
  148. package/SVF-doxygen/html/search/classes_8.js +56 -56
  149. package/SVF-doxygen/html/search/classes_9.js +1 -1
  150. package/SVF-doxygen/html/search/classes_a.js +12 -12
  151. package/SVF-doxygen/html/search/classes_b.js +29 -29
  152. package/SVF-doxygen/html/search/classes_c.js +6 -6
  153. package/SVF-doxygen/html/search/classes_d.js +18 -18
  154. package/SVF-doxygen/html/search/classes_e.js +36 -36
  155. package/SVF-doxygen/html/search/classes_f.js +25 -25
  156. package/SVF-doxygen/html/search/defines_0.js +3 -3
  157. package/SVF-doxygen/html/search/defines_1.js +2 -2
  158. package/SVF-doxygen/html/search/defines_2.js +30 -30
  159. package/SVF-doxygen/html/search/defines_3.js +21 -21
  160. package/SVF-doxygen/html/search/defines_4.js +2 -2
  161. package/SVF-doxygen/html/search/defines_5.js +4 -4
  162. package/SVF-doxygen/html/search/defines_6.js +2 -2
  163. package/SVF-doxygen/html/search/defines_7.js +5 -5
  164. package/SVF-doxygen/html/search/defines_8.js +11 -11
  165. package/SVF-doxygen/html/search/defines_9.js +9 -9
  166. package/SVF-doxygen/html/search/defines_a.js +2 -2
  167. package/SVF-doxygen/html/search/defines_b.js +1 -1
  168. package/SVF-doxygen/html/search/defines_c.js +3 -3
  169. package/SVF-doxygen/html/search/defines_d.js +2 -2
  170. package/SVF-doxygen/html/search/defines_e.js +7 -7
  171. package/SVF-doxygen/html/search/defines_f.js +3 -3
  172. package/SVF-doxygen/html/search/enums_0.js +3 -3
  173. package/SVF-doxygen/html/search/enums_1.js +2 -2
  174. package/SVF-doxygen/html/search/enums_10.js +1 -1
  175. package/SVF-doxygen/html/search/enums_11.js +1 -1
  176. package/SVF-doxygen/html/search/enums_2.js +8 -8
  177. package/SVF-doxygen/html/search/enums_3.js +1 -1
  178. package/SVF-doxygen/html/search/enums_4.js +3 -3
  179. package/SVF-doxygen/html/search/enums_5.js +1 -1
  180. package/SVF-doxygen/html/search/enums_6.js +2 -2
  181. package/SVF-doxygen/html/search/enums_7.js +2 -2
  182. package/SVF-doxygen/html/search/enums_8.js +4 -4
  183. package/SVF-doxygen/html/search/enums_9.js +1 -1
  184. package/SVF-doxygen/html/search/enums_a.js +1 -1
  185. package/SVF-doxygen/html/search/enums_b.js +7 -7
  186. package/SVF-doxygen/html/search/enums_c.js +1 -1
  187. package/SVF-doxygen/html/search/enums_d.js +4 -4
  188. package/SVF-doxygen/html/search/enums_e.js +2 -2
  189. package/SVF-doxygen/html/search/enums_f.js +4 -4
  190. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  191. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  192. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  193. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  194. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  195. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  196. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  197. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  198. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  199. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  200. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  201. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  202. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  203. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  204. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  205. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  206. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  207. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  208. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  209. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  210. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  211. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  212. package/SVF-doxygen/html/search/files_0.js +13 -13
  213. package/SVF-doxygen/html/search/files_1.js +7 -7
  214. package/SVF-doxygen/html/search/files_10.js +8 -8
  215. package/SVF-doxygen/html/search/files_11.js +8 -8
  216. package/SVF-doxygen/html/search/files_12.js +2 -2
  217. package/SVF-doxygen/html/search/files_2.js +55 -55
  218. package/SVF-doxygen/html/search/files_3.js +14 -14
  219. package/SVF-doxygen/html/search/files_4.js +5 -5
  220. package/SVF-doxygen/html/search/files_5.js +13 -13
  221. package/SVF-doxygen/html/search/files_6.js +9 -9
  222. package/SVF-doxygen/html/search/files_7.js +14 -14
  223. package/SVF-doxygen/html/search/files_8.js +13 -13
  224. package/SVF-doxygen/html/search/files_9.js +18 -18
  225. package/SVF-doxygen/html/search/files_a.js +3 -3
  226. package/SVF-doxygen/html/search/files_b.js +2 -2
  227. package/SVF-doxygen/html/search/files_c.js +20 -20
  228. package/SVF-doxygen/html/search/files_d.js +4 -4
  229. package/SVF-doxygen/html/search/files_e.js +62 -62
  230. package/SVF-doxygen/html/search/files_f.js +8 -8
  231. package/SVF-doxygen/html/search/functions_0.js +12 -12
  232. package/SVF-doxygen/html/search/functions_1.js +360 -360
  233. package/SVF-doxygen/html/search/functions_10.js +140 -140
  234. package/SVF-doxygen/html/search/functions_11.js +138 -138
  235. package/SVF-doxygen/html/search/functions_12.js +279 -279
  236. package/SVF-doxygen/html/search/functions_13.js +59 -59
  237. package/SVF-doxygen/html/search/functions_14.js +39 -39
  238. package/SVF-doxygen/html/search/functions_15.js +71 -71
  239. package/SVF-doxygen/html/search/functions_16.js +32 -32
  240. package/SVF-doxygen/html/search/functions_17.js +3 -3
  241. package/SVF-doxygen/html/search/functions_18.js +172 -172
  242. package/SVF-doxygen/html/search/functions_2.js +87 -87
  243. package/SVF-doxygen/html/search/functions_3.js +257 -257
  244. package/SVF-doxygen/html/search/functions_4.js +75 -75
  245. package/SVF-doxygen/html/search/functions_5.js +53 -53
  246. package/SVF-doxygen/html/search/functions_6.js +59 -59
  247. package/SVF-doxygen/html/search/functions_7.js +852 -852
  248. package/SVF-doxygen/html/search/functions_8.js +149 -149
  249. package/SVF-doxygen/html/search/functions_9.js +423 -428
  250. package/SVF-doxygen/html/search/functions_a.js +30 -30
  251. package/SVF-doxygen/html/search/functions_b.js +2 -2
  252. package/SVF-doxygen/html/search/functions_c.js +26 -26
  253. package/SVF-doxygen/html/search/functions_d.js +77 -77
  254. package/SVF-doxygen/html/search/functions_e.js +35 -35
  255. package/SVF-doxygen/html/search/functions_f.js +56 -56
  256. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  257. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  258. package/SVF-doxygen/html/search/related_0.js +2 -2
  259. package/SVF-doxygen/html/search/related_1.js +2 -2
  260. package/SVF-doxygen/html/search/related_2.js +2 -2
  261. package/SVF-doxygen/html/search/related_3.js +2 -2
  262. package/SVF-doxygen/html/search/related_4.js +2 -2
  263. package/SVF-doxygen/html/search/related_5.js +1 -1
  264. package/SVF-doxygen/html/search/related_6.js +2 -2
  265. package/SVF-doxygen/html/search/related_7.js +4 -4
  266. package/SVF-doxygen/html/search/related_8.js +2 -2
  267. package/SVF-doxygen/html/search/related_9.js +4 -4
  268. package/SVF-doxygen/html/search/related_a.js +19 -19
  269. package/SVF-doxygen/html/search/related_b.js +4 -4
  270. package/SVF-doxygen/html/search/related_c.js +1 -1
  271. package/SVF-doxygen/html/search/related_d.js +12 -12
  272. package/SVF-doxygen/html/search/related_e.js +2 -2
  273. package/SVF-doxygen/html/search/related_f.js +2 -2
  274. package/SVF-doxygen/html/search/typedefs_0.js +19 -18
  275. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  276. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  277. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  278. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  279. package/SVF-doxygen/html/search/typedefs_13.js +33 -34
  280. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  281. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  282. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  283. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  284. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  285. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  286. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  287. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  288. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  289. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  290. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  291. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  292. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  293. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  294. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  295. package/SVF-doxygen/html/search/variables_0.js +151 -151
  296. package/SVF-doxygen/html/search/variables_1.js +75 -75
  297. package/SVF-doxygen/html/search/variables_10.js +97 -97
  298. package/SVF-doxygen/html/search/variables_11.js +44 -44
  299. package/SVF-doxygen/html/search/variables_12.js +92 -92
  300. package/SVF-doxygen/html/search/variables_13.js +75 -75
  301. package/SVF-doxygen/html/search/variables_14.js +14 -14
  302. package/SVF-doxygen/html/search/variables_15.js +48 -48
  303. package/SVF-doxygen/html/search/variables_16.js +9 -9
  304. package/SVF-doxygen/html/search/variables_17.js +1 -1
  305. package/SVF-doxygen/html/search/variables_18.js +2 -2
  306. package/SVF-doxygen/html/search/variables_2.js +38 -38
  307. package/SVF-doxygen/html/search/variables_3.js +142 -142
  308. package/SVF-doxygen/html/search/variables_4.js +55 -55
  309. package/SVF-doxygen/html/search/variables_5.js +37 -37
  310. package/SVF-doxygen/html/search/variables_6.js +66 -66
  311. package/SVF-doxygen/html/search/variables_7.js +33 -33
  312. package/SVF-doxygen/html/search/variables_8.js +7 -7
  313. package/SVF-doxygen/html/search/variables_9.js +78 -77
  314. package/SVF-doxygen/html/search/variables_a.js +4 -4
  315. package/SVF-doxygen/html/search/variables_b.js +10 -10
  316. package/SVF-doxygen/html/search/variables_c.js +45 -45
  317. package/SVF-doxygen/html/search/variables_d.js +56 -56
  318. package/SVF-doxygen/html/search/variables_e.js +123 -123
  319. package/SVF-doxygen/html/search/variables_f.js +29 -30
  320. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  321. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +9 -9
  322. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ConsExeState_01_4.html +5 -5
  323. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +5 -5
  324. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1IntervalExeState_01_4.html +5 -5
  325. package/SVF-doxygen/html/svf-ex_8cpp.html +17 -17
  326. package/SVF-doxygen/html/svf-ex_8cpp_source.html +17 -17
  327. package/package.json +1 -1
  328. package/svf/include/AbstractExecution/ConsExeState.h +99 -96
  329. package/svf/include/AbstractExecution/ExeState.h +66 -53
  330. package/svf/include/AbstractExecution/IntervalExeState.h +66 -61
  331. package/svf/include/AbstractExecution/SVFIR2ConsExeState.h +7 -7
  332. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +22 -19
  333. package/svf/include/MemoryModel/AccessPath.h +13 -11
  334. package/svf/include/SVFIR/SVFStatements.h +2 -3
  335. package/svf/lib/AbstractExecution/ConsExeState.cpp +13 -13
  336. package/svf/lib/AbstractExecution/ExeState.cpp +19 -19
  337. package/svf/lib/AbstractExecution/IntervalExeState.cpp +4 -4
  338. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +38 -37
  339. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +273 -287
  340. package/svf/lib/MemoryModel/AccessPath.cpp +39 -17
  341. package/svf/lib/SVFIR/SVFFileSystem.cpp +2 -2
@@ -41,14 +41,14 @@ using namespace SVFUtil;
41
41
  */
42
42
  bool AccessPath::addOffsetVarAndGepTypePair(const SVFVar* var, const SVFType* gepIterType)
43
43
  {
44
- offsetVarAndGepTypePairs.emplace_back(var, gepIterType);
44
+ idxOperandPairs.emplace_back(var, gepIterType);
45
45
  return true;
46
46
  }
47
47
 
48
48
  /// Return true if all offset values are constants
49
49
  bool AccessPath::isConstantOffset() const
50
50
  {
51
- for(auto it : offsetVarAndGepTypePairs)
51
+ for(auto it : idxOperandPairs)
52
52
  {
53
53
  if(SVFUtil::isa<SVFConstantInt>(it.first->getValue()) == false)
54
54
  return false;
@@ -99,19 +99,19 @@ APOffset AccessPath::computeConstantByteOffset() const
99
99
  assert(isConstantOffset() && "not a constant offset");
100
100
 
101
101
  APOffset totalConstOffset = 0;
102
- for(int i = offsetVarAndGepTypePairs.size() - 1; i >= 0; i--)
102
+ for(int i = idxOperandPairs.size() - 1; i >= 0; i--)
103
103
  {
104
104
  /// For example, there is struct DEST{int a, char b[10], int c[5]}
105
105
  /// (1) %c = getelementptr inbounds %struct.DEST, %struct.DEST* %arr, i32 0, i32 2
106
106
  // (2) %arrayidx = getelementptr inbounds [10 x i8], [10 x i8]* %b, i64 0, i64 8
107
- const SVFValue* value = offsetVarAndGepTypePairs[i].first->getValue();
107
+ const SVFValue* value = idxOperandPairs[i].first->getValue();
108
108
  /// for (1) offsetVarAndGepTypePairs.size() = 2
109
109
  /// i = 0, type: %struct.DEST*, PtrType, op = 0
110
110
  /// i = 1, type: %struct.DEST, StructType, op = 2
111
111
  /// for (2) offsetVarAndGepTypePairs.size() = 2
112
112
  /// i = 0, type: [10 x i8]*, PtrType, op = 0
113
113
  /// i = 1, type: [10 x i8], ArrType, op = 8
114
- const SVFType* type = offsetVarAndGepTypePairs[i].second;
114
+ const SVFType* type = idxOperandPairs[i].second;
115
115
  /// if offsetVarAndGepTypePairs[i].second is nullptr, it means
116
116
  /// GepStmt comes from external API, this GepStmt is assigned in SVFIRExtAPI.cpp
117
117
  /// at SVFIRBuilder::getBaseTypeAndFlattenedFields ls.addOffsetVarAndGepTypePair()
@@ -154,6 +154,28 @@ APOffset AccessPath::computeConstantByteOffset() const
154
154
  return totalConstOffset;
155
155
  }
156
156
 
157
+ /// Return byte offset from the beginning of the structure to the field where it is located for struct type
158
+ ///
159
+ // e.g. idxOperandVar: i32 2 idxOperandType: %struct.Student = type { i32, [i8 x 12], i32 }
160
+ // we accumulate field 0 (i32) byte size (4 Bytes), and field 1 ([i8x12]) byte size (12 Bytes)
161
+ // then the return byte offset is 16 Bytes.
162
+ u32_t AccessPath::getStructFieldOffset(const SVFVar* idxOperandVar, const SVFStructType* idxOperandType) const
163
+ {
164
+ const SVFValue* idxValue = idxOperandVar->getValue();
165
+ u32_t structByteOffset = 0;
166
+ if (const SVFConstantInt *op = SVFUtil::dyn_cast<SVFConstantInt>(idxValue))
167
+ {
168
+ for (u32_t structField = 0; structField < (u32_t)op->getSExtValue(); ++structField)
169
+ {
170
+ u32_t flattenIdx = idxOperandType->getTypeInfo()->getFlattenedFieldIdxVec()[structField];
171
+ structByteOffset += idxOperandType->getTypeInfo()->getOriginalElemType(flattenIdx)->getByteSize();
172
+ }
173
+ return structByteOffset;
174
+ }
175
+ else
176
+ assert(false && "struct type can only pair with constant idx");
177
+ }
178
+
157
179
  /// Return accumulated constant offset
158
180
  ///
159
181
  /// "value" is the offset variable (must be a constant)
@@ -187,14 +209,14 @@ APOffset AccessPath::computeConstantOffset() const
187
209
 
188
210
  assert(isConstantOffset() && "not a constant offset");
189
211
 
190
- if(offsetVarAndGepTypePairs.empty())
212
+ if(idxOperandPairs.empty())
191
213
  return getConstantFieldIdx();
192
214
 
193
215
  APOffset totalConstOffset = 0;
194
- for(int i = offsetVarAndGepTypePairs.size() - 1; i >= 0; i--)
216
+ for(int i = idxOperandPairs.size() - 1; i >= 0; i--)
195
217
  {
196
- const SVFValue* value = offsetVarAndGepTypePairs[i].first->getValue();
197
- const SVFType* type = offsetVarAndGepTypePairs[i].second;
218
+ const SVFValue* value = idxOperandPairs[i].first->getValue();
219
+ const SVFType* type = idxOperandPairs[i].second;
198
220
  const SVFConstantInt* op = SVFUtil::dyn_cast<SVFConstantInt>(value);
199
221
  assert(op && "not a constant offset?");
200
222
  if(type==nullptr)
@@ -235,7 +257,7 @@ AccessPath AccessPath::operator+(const AccessPath& rhs) const
235
257
  {
236
258
  AccessPath ap(rhs);
237
259
  ap.fldIdx += getConstantFieldIdx();
238
- for (auto &p : ap.getOffsetVarAndGepTypePairVec())
260
+ for (auto &p : ap.getIdxOperandPairVec())
239
261
  ap.addOffsetVarAndGepTypePair(p.first, p.second);
240
262
 
241
263
  return ap;
@@ -247,14 +269,14 @@ bool AccessPath::operator< (const AccessPath& rhs) const
247
269
  return (fldIdx < rhs.fldIdx);
248
270
  else
249
271
  {
250
- const IdxVarAndGepTypePairs& pairVec = getOffsetVarAndGepTypePairVec();
251
- const IdxVarAndGepTypePairs& rhsPairVec = rhs.getOffsetVarAndGepTypePairVec();
272
+ const IdxOperandPairs& pairVec = getIdxOperandPairVec();
273
+ const IdxOperandPairs& rhsPairVec = rhs.getIdxOperandPairVec();
252
274
  if (pairVec.size() != rhsPairVec.size())
253
275
  return (pairVec.size() < rhsPairVec.size());
254
276
  else
255
277
  {
256
- IdxVarAndGepTypePairs::const_iterator it = pairVec.begin();
257
- IdxVarAndGepTypePairs::const_iterator rhsIt = rhsPairVec.begin();
278
+ IdxOperandPairs::const_iterator it = pairVec.begin();
279
+ IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();
258
280
  for (; it != pairVec.end() && rhsIt != rhsPairVec.end(); ++it, ++rhsIt)
259
281
  {
260
282
  return (*it) < (*rhsIt);
@@ -294,9 +316,9 @@ std::string AccessPath::dump() const
294
316
 
295
317
  rawstr << "AccessPath\tField_Index: " << getConstantFieldIdx();
296
318
  rawstr << ",\tNum-Stride: {";
297
- const IdxVarAndGepTypePairs& vec = getOffsetVarAndGepTypePairVec();
298
- IdxVarAndGepTypePairs::const_iterator it = vec.begin();
299
- IdxVarAndGepTypePairs::const_iterator eit = vec.end();
319
+ const IdxOperandPairs& vec = getIdxOperandPairVec();
320
+ IdxOperandPairs::const_iterator it = vec.begin();
321
+ IdxOperandPairs::const_iterator eit = vec.end();
300
322
  for (; it != eit; ++it)
301
323
  {
302
324
  const SVFType* ty = it->second;
@@ -1256,7 +1256,7 @@ cJSON* SVFIRWriter::toJson(const AccessPath& ap)
1256
1256
  {
1257
1257
  cJSON* root = jsonCreateObject();
1258
1258
  JSON_WRITE_FIELD(root, &ap, fldIdx);
1259
- JSON_WRITE_FIELD(root, &ap, offsetVarAndGepTypePairs);
1259
+ JSON_WRITE_FIELD(root, &ap, idxOperandPairs);
1260
1260
  return root;
1261
1261
  }
1262
1262
 
@@ -1866,7 +1866,7 @@ void SVFIRReader::readJson(const cJSON* obj, AccessPath& ap)
1866
1866
  ABORT_IFNOT(jsonIsObject(obj), "Expected obj for AccessPath");
1867
1867
  obj = obj->child;
1868
1868
  JSON_READ_FIELD_FWD(obj, &ap, fldIdx);
1869
- JSON_READ_FIELD_FWD(obj, &ap, offsetVarAndGepTypePairs);
1869
+ JSON_READ_FIELD_FWD(obj, &ap, idxOperandPairs);
1870
1870
  ABORT_IFNOT(!obj, "Extra field " << JSON_KEY(obj) << " in AccessPath");
1871
1871
  }
1872
1872