svf-tools 1.0.813 → 1.0.814

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 (268) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +3 -3
  3. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
  5. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +184 -183
  6. package/SVF-doxygen/html/ContextDDA_8h_source.html +5 -5
  7. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +191 -190
  10. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +4 -4
  11. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +695 -688
  12. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
  13. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +120 -118
  15. package/SVF-doxygen/html/SVFIR_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/SVFStatements_8h_source.html +4 -4
  17. package/SVF-doxygen/html/SVFVariables_8h_source.html +2 -2
  18. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
  19. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +11 -11
  20. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  21. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +176 -175
  22. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
  23. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +2 -2
  24. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  25. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +8 -8
  26. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +2 -2
  27. package/SVF-doxygen/html/classSVF_1_1NormalGepCGEdge.html +2 -2
  28. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +2 -2
  29. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +186 -185
  30. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +667 -660
  31. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +123 -121
  32. package/SVF-doxygen/html/functions_b.html +3 -3
  33. package/SVF-doxygen/html/functions_func_g.html +7 -5
  34. package/SVF-doxygen/html/functions_func_i.html +1 -1
  35. package/SVF-doxygen/html/functions_g.html +6 -4
  36. package/SVF-doxygen/html/functions_i.html +2 -2
  37. package/SVF-doxygen/html/functions_o.html +4 -4
  38. package/SVF-doxygen/html/functions_p.html +9 -9
  39. package/SVF-doxygen/html/functions_r.html +2 -4
  40. package/SVF-doxygen/html/functions_s.html +5 -5
  41. package/SVF-doxygen/html/functions_t.html +6 -6
  42. package/SVF-doxygen/html/functions_v.html +4 -6
  43. package/SVF-doxygen/html/functions_w.html +1 -1
  44. package/SVF-doxygen/html/search/all_10.js +324 -324
  45. package/SVF-doxygen/html/search/all_11.js +222 -222
  46. package/SVF-doxygen/html/search/all_12.js +544 -544
  47. package/SVF-doxygen/html/search/all_13.js +191 -191
  48. package/SVF-doxygen/html/search/all_14.js +67 -67
  49. package/SVF-doxygen/html/search/all_15.js +167 -167
  50. package/SVF-doxygen/html/search/all_16.js +63 -63
  51. package/SVF-doxygen/html/search/all_17.js +1 -1
  52. package/SVF-doxygen/html/search/all_18.js +1 -1
  53. package/SVF-doxygen/html/search/all_19.js +11 -11
  54. package/SVF-doxygen/html/search/all_1a.js +172 -172
  55. package/SVF-doxygen/html/search/all_2.js +1 -1
  56. package/SVF-doxygen/html/search/all_7.js +715 -714
  57. package/SVF-doxygen/html/search/all_8.js +197 -197
  58. package/SVF-doxygen/html/search/all_9.js +607 -607
  59. package/SVF-doxygen/html/search/all_a.js +46 -46
  60. package/SVF-doxygen/html/search/all_b.js +26 -26
  61. package/SVF-doxygen/html/search/all_c.js +116 -116
  62. package/SVF-doxygen/html/search/all_d.js +196 -196
  63. package/SVF-doxygen/html/search/all_e.js +207 -207
  64. package/SVF-doxygen/html/search/all_f.js +115 -115
  65. package/SVF-doxygen/html/search/classes_0.js +26 -26
  66. package/SVF-doxygen/html/search/classes_1.js +9 -9
  67. package/SVF-doxygen/html/search/classes_10.js +73 -73
  68. package/SVF-doxygen/html/search/classes_11.js +15 -15
  69. package/SVF-doxygen/html/search/classes_12.js +2 -2
  70. package/SVF-doxygen/html/search/classes_13.js +10 -10
  71. package/SVF-doxygen/html/search/classes_14.js +14 -14
  72. package/SVF-doxygen/html/search/classes_15.js +1 -1
  73. package/SVF-doxygen/html/search/classes_2.js +80 -80
  74. package/SVF-doxygen/html/search/classes_3.js +37 -37
  75. package/SVF-doxygen/html/search/classes_4.js +9 -9
  76. package/SVF-doxygen/html/search/classes_5.js +28 -28
  77. package/SVF-doxygen/html/search/classes_6.js +104 -104
  78. package/SVF-doxygen/html/search/classes_7.js +33 -33
  79. package/SVF-doxygen/html/search/classes_8.js +56 -56
  80. package/SVF-doxygen/html/search/classes_9.js +1 -1
  81. package/SVF-doxygen/html/search/classes_a.js +12 -12
  82. package/SVF-doxygen/html/search/classes_b.js +29 -29
  83. package/SVF-doxygen/html/search/classes_c.js +6 -6
  84. package/SVF-doxygen/html/search/classes_d.js +18 -18
  85. package/SVF-doxygen/html/search/classes_e.js +36 -36
  86. package/SVF-doxygen/html/search/classes_f.js +25 -25
  87. package/SVF-doxygen/html/search/defines_0.js +3 -3
  88. package/SVF-doxygen/html/search/defines_1.js +2 -2
  89. package/SVF-doxygen/html/search/defines_2.js +30 -30
  90. package/SVF-doxygen/html/search/defines_3.js +21 -21
  91. package/SVF-doxygen/html/search/defines_4.js +2 -2
  92. package/SVF-doxygen/html/search/defines_5.js +4 -4
  93. package/SVF-doxygen/html/search/defines_6.js +2 -2
  94. package/SVF-doxygen/html/search/defines_7.js +5 -5
  95. package/SVF-doxygen/html/search/defines_8.js +11 -11
  96. package/SVF-doxygen/html/search/defines_9.js +9 -9
  97. package/SVF-doxygen/html/search/defines_a.js +2 -2
  98. package/SVF-doxygen/html/search/defines_b.js +1 -1
  99. package/SVF-doxygen/html/search/defines_c.js +3 -3
  100. package/SVF-doxygen/html/search/defines_d.js +2 -2
  101. package/SVF-doxygen/html/search/defines_e.js +7 -7
  102. package/SVF-doxygen/html/search/defines_f.js +3 -3
  103. package/SVF-doxygen/html/search/enums_0.js +3 -3
  104. package/SVF-doxygen/html/search/enums_1.js +2 -2
  105. package/SVF-doxygen/html/search/enums_10.js +1 -1
  106. package/SVF-doxygen/html/search/enums_11.js +1 -1
  107. package/SVF-doxygen/html/search/enums_2.js +8 -8
  108. package/SVF-doxygen/html/search/enums_3.js +1 -1
  109. package/SVF-doxygen/html/search/enums_4.js +3 -3
  110. package/SVF-doxygen/html/search/enums_5.js +1 -1
  111. package/SVF-doxygen/html/search/enums_6.js +2 -2
  112. package/SVF-doxygen/html/search/enums_7.js +2 -2
  113. package/SVF-doxygen/html/search/enums_8.js +4 -4
  114. package/SVF-doxygen/html/search/enums_9.js +1 -1
  115. package/SVF-doxygen/html/search/enums_a.js +1 -1
  116. package/SVF-doxygen/html/search/enums_b.js +7 -7
  117. package/SVF-doxygen/html/search/enums_c.js +1 -1
  118. package/SVF-doxygen/html/search/enums_d.js +4 -4
  119. package/SVF-doxygen/html/search/enums_e.js +2 -2
  120. package/SVF-doxygen/html/search/enums_f.js +4 -4
  121. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  122. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  123. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  124. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  125. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  126. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  127. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  128. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  129. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  130. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  131. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  132. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  133. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  134. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  135. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  136. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  137. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  138. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  139. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  140. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  141. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  142. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  143. package/SVF-doxygen/html/search/files_0.js +13 -13
  144. package/SVF-doxygen/html/search/files_1.js +7 -7
  145. package/SVF-doxygen/html/search/files_10.js +8 -8
  146. package/SVF-doxygen/html/search/files_11.js +8 -8
  147. package/SVF-doxygen/html/search/files_12.js +2 -2
  148. package/SVF-doxygen/html/search/files_2.js +55 -55
  149. package/SVF-doxygen/html/search/files_3.js +14 -14
  150. package/SVF-doxygen/html/search/files_4.js +5 -5
  151. package/SVF-doxygen/html/search/files_5.js +13 -13
  152. package/SVF-doxygen/html/search/files_6.js +9 -9
  153. package/SVF-doxygen/html/search/files_7.js +14 -14
  154. package/SVF-doxygen/html/search/files_8.js +13 -13
  155. package/SVF-doxygen/html/search/files_9.js +18 -18
  156. package/SVF-doxygen/html/search/files_a.js +3 -3
  157. package/SVF-doxygen/html/search/files_b.js +2 -2
  158. package/SVF-doxygen/html/search/files_c.js +20 -20
  159. package/SVF-doxygen/html/search/files_d.js +4 -4
  160. package/SVF-doxygen/html/search/files_e.js +62 -62
  161. package/SVF-doxygen/html/search/files_f.js +8 -8
  162. package/SVF-doxygen/html/search/functions_0.js +12 -12
  163. package/SVF-doxygen/html/search/functions_1.js +360 -360
  164. package/SVF-doxygen/html/search/functions_10.js +140 -140
  165. package/SVF-doxygen/html/search/functions_11.js +138 -138
  166. package/SVF-doxygen/html/search/functions_12.js +279 -279
  167. package/SVF-doxygen/html/search/functions_13.js +59 -59
  168. package/SVF-doxygen/html/search/functions_14.js +39 -39
  169. package/SVF-doxygen/html/search/functions_15.js +71 -71
  170. package/SVF-doxygen/html/search/functions_16.js +32 -32
  171. package/SVF-doxygen/html/search/functions_17.js +3 -3
  172. package/SVF-doxygen/html/search/functions_18.js +172 -172
  173. package/SVF-doxygen/html/search/functions_2.js +87 -87
  174. package/SVF-doxygen/html/search/functions_3.js +257 -257
  175. package/SVF-doxygen/html/search/functions_4.js +75 -75
  176. package/SVF-doxygen/html/search/functions_5.js +53 -53
  177. package/SVF-doxygen/html/search/functions_6.js +59 -59
  178. package/SVF-doxygen/html/search/functions_7.js +853 -852
  179. package/SVF-doxygen/html/search/functions_8.js +149 -149
  180. package/SVF-doxygen/html/search/functions_9.js +423 -423
  181. package/SVF-doxygen/html/search/functions_a.js +30 -30
  182. package/SVF-doxygen/html/search/functions_b.js +2 -2
  183. package/SVF-doxygen/html/search/functions_c.js +26 -26
  184. package/SVF-doxygen/html/search/functions_d.js +77 -77
  185. package/SVF-doxygen/html/search/functions_e.js +35 -35
  186. package/SVF-doxygen/html/search/functions_f.js +56 -56
  187. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  188. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  189. package/SVF-doxygen/html/search/related_0.js +2 -2
  190. package/SVF-doxygen/html/search/related_1.js +2 -2
  191. package/SVF-doxygen/html/search/related_2.js +2 -2
  192. package/SVF-doxygen/html/search/related_3.js +2 -2
  193. package/SVF-doxygen/html/search/related_4.js +2 -2
  194. package/SVF-doxygen/html/search/related_5.js +1 -1
  195. package/SVF-doxygen/html/search/related_6.js +2 -2
  196. package/SVF-doxygen/html/search/related_7.js +4 -4
  197. package/SVF-doxygen/html/search/related_8.js +2 -2
  198. package/SVF-doxygen/html/search/related_9.js +4 -4
  199. package/SVF-doxygen/html/search/related_a.js +19 -19
  200. package/SVF-doxygen/html/search/related_b.js +4 -4
  201. package/SVF-doxygen/html/search/related_c.js +1 -1
  202. package/SVF-doxygen/html/search/related_d.js +12 -12
  203. package/SVF-doxygen/html/search/related_e.js +2 -2
  204. package/SVF-doxygen/html/search/related_f.js +2 -2
  205. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  206. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  207. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  208. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  209. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  210. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  211. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  212. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  213. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  214. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  215. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  216. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  217. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  218. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  219. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  220. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  221. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  222. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  223. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  224. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  225. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  226. package/SVF-doxygen/html/search/variables_0.js +151 -151
  227. package/SVF-doxygen/html/search/variables_1.js +75 -75
  228. package/SVF-doxygen/html/search/variables_10.js +97 -97
  229. package/SVF-doxygen/html/search/variables_11.js +44 -44
  230. package/SVF-doxygen/html/search/variables_12.js +92 -92
  231. package/SVF-doxygen/html/search/variables_13.js +75 -75
  232. package/SVF-doxygen/html/search/variables_14.js +14 -14
  233. package/SVF-doxygen/html/search/variables_15.js +48 -48
  234. package/SVF-doxygen/html/search/variables_16.js +9 -9
  235. package/SVF-doxygen/html/search/variables_17.js +1 -1
  236. package/SVF-doxygen/html/search/variables_18.js +2 -2
  237. package/SVF-doxygen/html/search/variables_2.js +38 -38
  238. package/SVF-doxygen/html/search/variables_3.js +142 -142
  239. package/SVF-doxygen/html/search/variables_4.js +55 -55
  240. package/SVF-doxygen/html/search/variables_5.js +37 -37
  241. package/SVF-doxygen/html/search/variables_6.js +66 -66
  242. package/SVF-doxygen/html/search/variables_7.js +33 -33
  243. package/SVF-doxygen/html/search/variables_8.js +7 -7
  244. package/SVF-doxygen/html/search/variables_9.js +78 -78
  245. package/SVF-doxygen/html/search/variables_a.js +4 -4
  246. package/SVF-doxygen/html/search/variables_b.js +10 -10
  247. package/SVF-doxygen/html/search/variables_c.js +45 -45
  248. package/SVF-doxygen/html/search/variables_d.js +56 -56
  249. package/SVF-doxygen/html/search/variables_e.js +123 -123
  250. package/SVF-doxygen/html/search/variables_f.js +29 -29
  251. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +2 -2
  252. package/SVF-doxygen/html/svf-ex_8cpp.html +11 -11
  253. package/SVF-doxygen/html/svf-ex_8cpp_source.html +11 -11
  254. package/package.json +1 -1
  255. package/svf/include/Graphs/ConsGEdge.h +1 -1
  256. package/svf/include/MemoryModel/AccessPath.h +2 -2
  257. package/svf/include/SVFIR/SVFStatements.h +2 -2
  258. package/svf/include/SVFIR/SVFVariables.h +1 -1
  259. package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +2 -1
  260. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -0
  261. package/svf/lib/DDA/ContextDDA.cpp +2 -1
  262. package/svf/lib/DDA/FlowDDA.cpp +1 -1
  263. package/svf/lib/MemoryModel/AccessPath.cpp +4 -4
  264. package/svf/lib/SVFIR/SVFIR.cpp +1 -1
  265. package/svf/lib/WPA/Andersen.cpp +1 -1
  266. package/svf/lib/WPA/FlowSensitive.cpp +1 -1
  267. package/svf-llvm/lib/SVFIRBuilder.cpp +2 -2
  268. package/svf-llvm/lib/SVFIRExtAPI.cpp +7 -5
@@ -307,7 +307,7 @@ $(function() {
307
307
  <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
308
308
  </div><!-- fragment --></div><!-- contents -->
309
309
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
310
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_adb82778157e0f5e7a2ea4d803bcd07ad"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVF::SVFIR2ItvExeState::translateCall</a></div><div class="ttdeci">void translateCall(const CallPE *callPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00959">SVFIR2ItvExeState.cpp:959</a></div></div>
310
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_adb82778157e0f5e7a2ea4d803bcd07ad"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVF::SVFIR2ItvExeState::translateCall</a></div><div class="ttdeci">void translateCall(const CallPE *callPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00963">SVFIR2ItvExeState.cpp:963</a></div></div>
311
311
  <div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00351">SVFStatements.h:351</a></div></div>
312
312
  <div class="ttc" id="asvf-ex_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00205">svf-ex.cpp:205</a></div></div>
313
313
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
@@ -318,14 +318,14 @@ $(function() {
318
318
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00044">ICFGEdge.h:44</a></div></div>
319
319
  <div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00748">SVFStatements.h:748</a></div></div>
320
320
  <div class="ttc" id="aclassSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00170">SVFG.h:170</a></div></div>
321
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a604126e59364cb56b44a88cae5afbfb8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVF::SVFIR2ItvExeState::translateSelect</a></div><div class="ttdeci">void translateSelect(const SelectStmt *select)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00897">SVFIR2ItvExeState.cpp:897</a></div></div>
321
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a604126e59364cb56b44a88cae5afbfb8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVF::SVFIR2ItvExeState::translateSelect</a></div><div class="ttdeci">void translateSelect(const SelectStmt *select)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00901">SVFIR2ItvExeState.cpp:901</a></div></div>
322
322
  <div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00138">IRGraph.h:138</a></div></div>
323
323
  <div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
324
324
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
325
325
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
326
326
  <div class="ttc" id="aSVFIR2ItvExeState_8h_html"><div class="ttname"><a href="SVFIR2ItvExeState_8h.html">SVFIR2ItvExeState.h</a></div></div>
327
327
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html_a6c68f52dd90728073fb79141df9b0661"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">SVF::ICFGNode::getSVFStmts</a></div><div class="ttdeci">const SVFStmtList &amp; getSVFStmts() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00127">ICFGNode.h:127</a></div></div>
328
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af7f42ee51b03b1aaaee18f10eec0c2b9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVF::SVFIR2ItvExeState::translateAddr</a></div><div class="ttdeci">void translateAddr(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00498">SVFIR2ItvExeState.cpp:498</a></div></div>
328
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af7f42ee51b03b1aaaee18f10eec0c2b9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVF::SVFIR2ItvExeState::translateAddr</a></div><div class="ttdeci">void translateAddr(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00502">SVFIR2ItvExeState.cpp:502</a></div></div>
329
329
  <div class="ttc" id="aclassSVF_1_1SelectStmt_html"><div class="ttname"><a href="classSVF_1_1SelectStmt.html">SVF::SelectStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00816">SVFStatements.h:816</a></div></div>
330
330
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00108">LLVMModule.h:108</a></div></div>
331
331
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
@@ -334,16 +334,16 @@ $(function() {
334
334
  <div class="ttc" id="asvf-ex_8cpp_html_a19f3fe331a1e7050a513672a91743b96"><div class="ttname"><a href="svf-ex_8cpp.html#a19f3fe331a1e7050a513672a91743b96">traverseOnICFG</a></div><div class="ttdeci">void traverseOnICFG(ICFG *icfg, const ICFGNode *iNode)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00141">svf-ex.cpp:141</a></div></div>
335
335
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00871">SVFStatements.h:871</a></div></div>
336
336
  <div class="ttc" id="aclassSVF_1_1VFG_html"><div class="ttname"><a href="classSVF_1_1VFG.html">SVF::VFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00050">VFG.h:50</a></div></div>
337
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aac5cc8767eb750bf121f1897788dee24"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVF::SVFIR2ItvExeState::translateCmp</a></div><div class="ttdeci">void translateCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00586">SVFIR2ItvExeState.cpp:586</a></div></div>
338
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aa274b5b4e18c28ec8035ca1b073aacfc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVF::SVFIR2ItvExeState::translateGep</a></div><div class="ttdeci">void translateGep(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00871">SVFIR2ItvExeState.cpp:871</a></div></div>
337
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aac5cc8767eb750bf121f1897788dee24"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVF::SVFIR2ItvExeState::translateCmp</a></div><div class="ttdeci">void translateCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00590">SVFIR2ItvExeState.cpp:590</a></div></div>
338
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aa274b5b4e18c28ec8035ca1b073aacfc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVF::SVFIR2ItvExeState::translateGep</a></div><div class="ttdeci">void translateGep(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00875">SVFIR2ItvExeState.cpp:875</a></div></div>
339
339
  <div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
340
340
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
341
341
  <div class="ttc" id="asvf-ex_8cpp_html_a8fa9e6583c354b1883a32b8abf98779f"><div class="ttname"><a href="svf-ex_8cpp.html#a8fa9e6583c354b1883a32b8abf98779f">traverseOnSVFStmt</a></div><div class="ttdeci">void traverseOnSVFStmt(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00077">svf-ex.cpp:77</a></div></div>
342
342
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
343
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae00e5398cbeb9aa1cfc464da4250a91e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVF::SVFIR2ItvExeState::translatePhi</a></div><div class="ttdeci">void translatePhi(const PhiStmt *phi)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00925">SVFIR2ItvExeState.cpp:925</a></div></div>
343
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae00e5398cbeb9aa1cfc464da4250a91e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVF::SVFIR2ItvExeState::translatePhi</a></div><div class="ttdeci">void translatePhi(const PhiStmt *phi)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00929">SVFIR2ItvExeState.cpp:929</a></div></div>
344
344
  <div class="ttc" id="aCommandLine_8h_html"><div class="ttname"><a href="CommandLine_8h.html">CommandLine.h</a></div></div>
345
345
  <div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00545">SVFStatements.h:545</a></div></div>
346
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8f2a564370d9b9fb05e139c45eeaba68"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVF::SVFIR2ItvExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00770">SVFIR2ItvExeState.cpp:770</a></div></div>
346
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8f2a564370d9b9fb05e139c45eeaba68"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVF::SVFIR2ItvExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00774">SVFIR2ItvExeState.cpp:774</a></div></div>
347
347
  <div class="ttc" id="asvf-ex_8cpp_html_ad58149e5445ad22ce478339e103ab42b"><div class="ttname"><a href="svf-ex_8cpp.html#ad58149e5445ad22ce478339e103ab42b">traverseOnVFG</a></div><div class="ttdeci">void traverseOnVFG(const SVFG *vfg, SVFValue *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00168">svf-ex.cpp:168</a></div></div>
348
348
  <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
349
349
  <div class="ttc" id="aclassOptionBase_html_a4fb6c6e4a1754d702c6c1730f54457e5"><div class="ttname"><a href="classOptionBase.html#a4fb6c6e4a1754d702c6c1730f54457e5">OptionBase::parseOptions</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; parseOptions(int argc, char *argv[], std::string description, std::string callFormat)</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00075">CommandLine.h:75</a></div></div>
@@ -351,13 +351,13 @@ $(function() {
351
351
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html">SVF::BinaryOPStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00957">SVFStatements.h:957</a></div></div>
352
352
  <div class="ttc" id="aclassSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00387">SVFStatements.h:387</a></div></div>
353
353
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
354
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a31e299f91eed29d1a8db3b884d57d1dc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVF::SVFIR2ItvExeState::translateRet</a></div><div class="ttdeci">void translateRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00974">SVFIR2ItvExeState.cpp:974</a></div></div>
354
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a31e299f91eed29d1a8db3b884d57d1dc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVF::SVFIR2ItvExeState::translateRet</a></div><div class="ttdeci">void translateRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00978">SVFIR2ItvExeState.cpp:978</a></div></div>
355
355
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
356
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a449ee8f244120866037c7f6d2ee5fc13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVF::SVFIR2ItvExeState::translateBinary</a></div><div class="ttdeci">void translateBinary(const BinaryOPStmt *binary)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00524">SVFIR2ItvExeState.cpp:524</a></div></div>
356
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a449ee8f244120866037c7f6d2ee5fc13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVF::SVFIR2ItvExeState::translateBinary</a></div><div class="ttdeci">void translateBinary(const BinaryOPStmt *binary)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00528">SVFIR2ItvExeState.cpp:528</a></div></div>
357
357
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00221">GenericGraph.h:221</a></div></div>
358
358
  <div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class.</div></div>
359
359
  <div class="ttc" id="aclassSVF_1_1SVFIRBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html">SVF::SVFIRBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00046">SVFIRBuilder.h:46</a></div></div>
360
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed2e41879bae8389c49e69356b7aaac5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVF::SVFIR2ItvExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00812">SVFIR2ItvExeState.cpp:812</a></div></div>
360
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed2e41879bae8389c49e69356b7aaac5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVF::SVFIR2ItvExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00816">SVFIR2ItvExeState.cpp:816</a></div></div>
361
361
  <div class="ttc" id="anamespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00618">SVFType.h:618</a></div></div>
362
362
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00051">SVFStatements.h:51</a></div></div>
363
363
  <div class="ttc" id="aclassSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
@@ -367,7 +367,7 @@ $(function() {
367
367
  <div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00424">SVFStatements.h:424</a></div></div>
368
368
  <div class="ttc" id="aSVFG_8h_html"><div class="ttname"><a href="SVFG_8h.html">SVFG.h</a></div></div>
369
369
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
370
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afcf2f81101f1b9580d82b5c2efb83999"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVF::SVFIR2ItvExeState::translateCopy</a></div><div class="ttdeci">void translateCopy(const CopyStmt *copy)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00841">SVFIR2ItvExeState.cpp:841</a></div></div>
370
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afcf2f81101f1b9580d82b5c2efb83999"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVF::SVFIR2ItvExeState::translateCopy</a></div><div class="ttdeci">void translateCopy(const CopyStmt *copy)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00845">SVFIR2ItvExeState.cpp:845</a></div></div>
371
371
  <div class="ttc" id="aclassSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00461">SVFStatements.h:461</a></div></div>
372
372
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00217">GenericGraph.h:217</a></div></div>
373
373
  <div class="ttc" id="aclassSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00049">SVFGBuilder.cpp:49</a></div></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.813",
3
+ "version": "1.0.814",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -308,7 +308,7 @@ public:
308
308
  /// Get location set of the gep edge
309
309
  inline APOffset getConstantFieldIdx() const
310
310
  {
311
- return ap.getConstantFieldIdx();
311
+ return ap.getConstantStructFldIdx();
312
312
  }
313
313
 
314
314
  };
@@ -95,7 +95,7 @@ public:
95
95
 
96
96
  /// Get methods
97
97
  //@{
98
- inline APOffset getConstantFieldIdx() const
98
+ inline APOffset getConstantStructFldIdx() const
99
99
  {
100
100
  return fldIdx;
101
101
  }
@@ -177,7 +177,7 @@ template <> struct std::hash<SVF::AccessPath>
177
177
  {
178
178
  SVF::Hash<std::pair<SVF::NodeID, SVF::NodeID>> h;
179
179
  std::hash<SVF::AccessPath::IdxOperandPairs> v;
180
- return h(std::make_pair(ap.getConstantFieldIdx(),
180
+ return h(std::make_pair(ap.getConstantStructFldIdx(),
181
181
  v(ap.getIdxOperandPairVec())));
182
182
  }
183
183
  };
@@ -517,10 +517,10 @@ public:
517
517
  return getAccessPath().computeConstantOffset();
518
518
  }
519
519
  /// Field index of the gep statement if it access the field of a struct
520
- inline APOffset getConstantFieldIdx() const
520
+ inline APOffset getConstantStructFldIdx() const
521
521
  {
522
522
  assert(isVariantFieldGep()==false && "Can't retrieve the AccessPath if using a variable field index (pointer arithmetic) for struct field access ");
523
- return getAccessPath().getConstantFieldIdx();
523
+ return getAccessPath().getConstantStructFldIdx();
524
524
  }
525
525
  /// Gep statement with a variant field index (pointer arithmetic) for struct field access
526
526
  inline bool isVariantFieldGep() const
@@ -420,7 +420,7 @@ public:
420
420
  /// offset of the base value variable
421
421
  inline APOffset getConstantFieldIdx() const
422
422
  {
423
- return ap.getConstantFieldIdx();
423
+ return ap.getConstantStructFldIdx();
424
424
  }
425
425
 
426
426
  /// Return name of a LLVM value
@@ -609,7 +609,8 @@ std::pair<s32_t, s32_t> SVFIR2ConsExeState::getGepOffset(const SVF::GepStmt *gep
609
609
  {
610
610
  /// for instant constant index, e.g. gep arr, 1
611
611
  if (gep->getOffsetVarAndGepTypePairVec().empty())
612
- return std::make_pair(gep->getConstantFieldIdx(), gep->getConstantFieldIdx());
612
+ return std::make_pair(gep->getConstantStructFldIdx(),
613
+ gep->getConstantStructFldIdx());
613
614
 
614
615
  s32_t totalOffset = 0;
615
616
  /// default value of MaxFieldLimit is 512
@@ -266,6 +266,8 @@ SVFIR2ItvExeState::Addrs SVFIR2ItvExeState::getGepObjAddress(u32_t pointer, APOf
266
266
  */
267
267
  IntervalValue SVFIR2ItvExeState::getByteOffset(const GepStmt *gep)
268
268
  {
269
+ if (gep->isConstantOffset())
270
+ return IntervalValue((s64_t)gep->accumulateConstantByteOffset());
269
271
  IntervalValue res(0); // Initialize the result interval 'res' to 0.
270
272
  // Loop through the offsetVarAndGepTypePairVec in reverse order.
271
273
  for (int i = gep->getOffsetVarAndGepTypePairVec().size() - 1; i >= 0; i--)
@@ -337,6 +339,8 @@ IntervalValue SVFIR2ItvExeState::getByteOffset(const GepStmt *gep)
337
339
  */
338
340
  IntervalValue SVFIR2ItvExeState::getItvOfFlattenedElemIndex(const GepStmt *gep)
339
341
  {
342
+ if (gep->isConstantOffset())
343
+ return IntervalValue((s64_t)gep->accumulateConstantOffset());
340
344
  IntervalValue res(0);
341
345
  for (int i = gep->getOffsetVarAndGepTypePairVec().size() - 1; i >= 0; i--)
342
346
  {
@@ -171,7 +171,8 @@ CxtPtSet ContextDDA::processGepPts(const GepSVFGNode* gep, const CxtPtSet& srcPt
171
171
  }
172
172
  else
173
173
  {
174
- CxtVar var(ptd.get_cond(),getGepObjVar(ptd.get_id(),gepStmt->getAccessPath().getConstantFieldIdx()));
174
+ CxtVar var(ptd.get_cond(),getGepObjVar(ptd.get_id(),
175
+ gepStmt->getAccessPath().getConstantStructFldIdx()));
175
176
  tmpDstPts.set(var);
176
177
  }
177
178
  }
@@ -156,7 +156,7 @@ PointsTo FlowDDA::processGepPts(const GepSVFGNode* gep, const PointsTo& srcPts)
156
156
  }
157
157
  else
158
158
  {
159
- NodeID fieldSrcPtdNode = getGepObjVar(ptd, gepStmt->getAccessPath().getConstantFieldIdx());
159
+ NodeID fieldSrcPtdNode = getGepObjVar(ptd, gepStmt->getAccessPath().getConstantStructFldIdx());
160
160
  tmpDstPts.set(fieldSrcPtdNode);
161
161
  }
162
162
  }
@@ -210,7 +210,7 @@ APOffset AccessPath::computeConstantOffset() const
210
210
  assert(isConstantOffset() && "not a constant offset");
211
211
 
212
212
  if(idxOperandPairs.empty())
213
- return getConstantFieldIdx();
213
+ return getConstantStructFldIdx();
214
214
 
215
215
  APOffset totalConstOffset = 0;
216
216
  for(int i = idxOperandPairs.size() - 1; i >= 0; i--)
@@ -249,14 +249,14 @@ APOffset AccessPath::computeConstantOffset() const
249
249
  NodeBS AccessPath::computeAllLocations() const
250
250
  {
251
251
  NodeBS result;
252
- result.set(getConstantFieldIdx());
252
+ result.set(getConstantStructFldIdx());
253
253
  return result;
254
254
  }
255
255
 
256
256
  AccessPath AccessPath::operator+(const AccessPath& rhs) const
257
257
  {
258
258
  AccessPath ap(rhs);
259
- ap.fldIdx += getConstantFieldIdx();
259
+ ap.fldIdx += getConstantStructFldIdx();
260
260
  for (auto &p : ap.getIdxOperandPairVec())
261
261
  ap.addOffsetVarAndGepTypePair(p.first, p.second);
262
262
 
@@ -314,7 +314,7 @@ std::string AccessPath::dump() const
314
314
  std::string str;
315
315
  std::stringstream rawstr(str);
316
316
 
317
- rawstr << "AccessPath\tField_Index: " << getConstantFieldIdx();
317
+ rawstr << "AccessPath\tField_Index: " << getConstantStructFldIdx();
318
318
  rawstr << ",\tNum-Stride: {";
319
319
  const IdxOperandPairs& vec = getIdxOperandPairVec();
320
320
  IdxOperandPairs::const_iterator it = vec.begin();
@@ -633,7 +633,7 @@ void SVFIR::print()
633
633
  outs() << (*iter)->getSrcID() << " -- VariantGep --> "
634
634
  << (*iter)->getDstID() << "\n";
635
635
  else
636
- outs() << gep->getRHSVarID() << " -- Gep (" << gep->getConstantFieldIdx()
636
+ outs() << gep->getRHSVarID() << " -- Gep (" << gep->getConstantStructFldIdx()
637
637
  << ") --> " << gep->getLHSVarID() << "\n";
638
638
  }
639
639
 
@@ -457,7 +457,7 @@ bool Andersen::processGepPts(const PointsTo& pts, const GepCGEdge* edge)
457
457
  continue;
458
458
  }
459
459
 
460
- NodeID fieldSrcPtdNode = consCG->getGepObjVar(o, normalGepEdge->getAccessPath().getConstantFieldIdx());
460
+ NodeID fieldSrcPtdNode = consCG->getGepObjVar(o, normalGepEdge->getAccessPath().getConstantStructFldIdx());
461
461
  tmpDstPts.set(fieldSrcPtdNode);
462
462
  }
463
463
  }
@@ -529,7 +529,7 @@ bool FlowSensitive::processGep(const GepSVFGNode* edge)
529
529
  continue;
530
530
  }
531
531
 
532
- NodeID fieldSrcPtdNode = getGepObjVar(o, gepStmt->getAccessPath().getConstantFieldIdx());
532
+ NodeID fieldSrcPtdNode = getGepObjVar(o, gepStmt->getAccessPath().getConstantStructFldIdx());
533
533
  tmpDstPts.set(fieldSrcPtdNode);
534
534
  }
535
535
  }
@@ -303,7 +303,7 @@ bool SVFIRBuilder::computeGepOffset(const User *V, AccessPath& ap)
303
303
  continue;
304
304
  APOffset idx = op->getSExtValue();
305
305
  u32_t offset = pag->getSymbolInfo()->getFlattenedElemIdx(LLVMModuleSet::getLLVMModuleSet()->getSVFType(arrTy), idx);
306
- ap.setFldIdx(ap.getConstantFieldIdx() + offset);
306
+ ap.setFldIdx(ap.getConstantStructFldIdx() + offset);
307
307
  }
308
308
  else if (const StructType *ST = SVFUtil::dyn_cast<StructType>(gepTy))
309
309
  {
@@ -311,7 +311,7 @@ bool SVFIRBuilder::computeGepOffset(const User *V, AccessPath& ap)
311
311
  //The actual index
312
312
  APOffset idx = op->getSExtValue();
313
313
  u32_t offset = pag->getSymbolInfo()->getFlattenedElemIdx(LLVMModuleSet::getLLVMModuleSet()->getSVFType(ST), idx);
314
- ap.setFldIdx(ap.getConstantFieldIdx() + offset);
314
+ ap.setFldIdx(ap.getConstantStructFldIdx() + offset);
315
315
  }
316
316
  else if (gepTy->isSingleValueType())
317
317
  {
@@ -112,9 +112,9 @@ void SVFIRBuilder::addComplexConsForExt(Value *D, Value *S, const Value* szValue
112
112
  {
113
113
  LLVMModuleSet* llvmmodule = LLVMModuleSet::getLLVMModuleSet();
114
114
  const SVFType* dElementType = pag->getSymbolInfo()->getFlatternedElemType(llvmmodule->getSVFType(dtype),
115
- fields[index].getConstantFieldIdx());
115
+ fields[index].getConstantStructFldIdx());
116
116
  const SVFType* sElementType = pag->getSymbolInfo()->getFlatternedElemType(llvmmodule->getSVFType(stype),
117
- fields[index].getConstantFieldIdx());
117
+ fields[index].getConstantStructFldIdx());
118
118
  NodeID dField = getGepValVar(D,fields[index],dElementType);
119
119
  NodeID sField = getGepValVar(S,fields[index],sElementType);
120
120
  NodeID dummy = pag->addDummyValNode();
@@ -180,7 +180,8 @@ void SVFIRBuilder::handleExtCall(const CallBase* cs, const SVFFunction* svfCalle
180
180
  for (u32_t index = 0; index < sz; index++)
181
181
  {
182
182
  LLVMModuleSet* llvmmodule = LLVMModuleSet::getLLVMModuleSet();
183
- const SVFType* dElementType = pag->getSymbolInfo()->getFlatternedElemType(llvmmodule->getSVFType(dtype), dstFields[index].getConstantFieldIdx());
183
+ const SVFType* dElementType = pag->getSymbolInfo()->getFlatternedElemType(llvmmodule->getSVFType(dtype),
184
+ dstFields[index].getConstantStructFldIdx());
184
185
  NodeID dField = getGepValVar(cs->getArgOperand(0), dstFields[index], dElementType);
185
186
  addStoreEdge(getValueNode(cs->getArgOperand(1)),dField);
186
187
  }
@@ -233,7 +234,8 @@ void SVFIRBuilder::handleExtCall(const CallBase* cs, const SVFFunction* svfCalle
233
234
  // We have vArg3 points to the entry of _Rb_tree_node_base { color; parent; left; right; }.
234
235
  // Now we calculate the offset from base to vArg3
235
236
  NodeID vnArg3 = pag->getValueNode(svfCall->getArgOperand(3));
236
- APOffset offset = getAccessPathFromBaseNode(vnArg3).getConstantFieldIdx();
237
+ APOffset offset =
238
+ getAccessPathFromBaseNode(vnArg3).getConstantStructFldIdx();
237
239
 
238
240
  // We get all flattened fields of base
239
241
  vector<AccessPath> fields = pag->getTypeLocSetsMap(vnArg3).second;
@@ -245,7 +247,7 @@ void SVFIRBuilder::handleExtCall(const CallBase* cs, const SVFFunction* svfCalle
245
247
  if((u32_t)i >= fields.size())
246
248
  break;
247
249
  const SVFType* elementType = pag->getSymbolInfo()->getFlatternedElemType(pag->getTypeLocSetsMap(vnArg3).first,
248
- fields[i].getConstantFieldIdx());
250
+ fields[i].getConstantStructFldIdx());
249
251
  NodeID vnD = getGepValVar(cs->getArgOperand(3), fields[i], elementType);
250
252
  NodeID vnS = pag->getValueNode(svfCall->getArgOperand(1));
251
253
  if(vnD && vnS)