svf-tools 1.0.890 → 1.0.892

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 (343) hide show
  1. package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +451 -450
  2. package/SVF-doxygen/html/AbstractExecution_8h_source.html +11 -11
  3. package/SVF-doxygen/html/AccessPath_8cpp_source.html +150 -147
  4. package/SVF-doxygen/html/AccessPath_8h_source.html +6 -6
  5. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +426 -425
  7. package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +2 -2
  8. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CppUtil_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  12. package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +43 -44
  16. package/SVF-doxygen/html/ICFGWTO_8h_source.html +4 -4
  17. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +556 -556
  19. package/SVF-doxygen/html/LLVMModule_8h_source.html +15 -15
  20. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +552 -525
  21. package/SVF-doxygen/html/LLVMUtil_8h.html +2 -0
  22. package/SVF-doxygen/html/LLVMUtil_8h_source.html +55 -52
  23. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
  25. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/ObjTypeInference_8cpp.html +1 -1
  29. package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
  30. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +828 -827
  32. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +20 -20
  33. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +7 -7
  34. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +1 -1
  35. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
  38. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  40. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +9 -9
  43. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/WTO_8h.html +1 -0
  45. package/SVF-doxygen/html/WTO_8h_source.html +812 -811
  46. package/SVF-doxygen/html/ae_8cpp.html +46 -47
  47. package/SVF-doxygen/html/ae_8cpp_source.html +46 -47
  48. package/SVF-doxygen/html/classSVF_1_1AEAPI.html +432 -431
  49. package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +22 -22
  50. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +136 -133
  51. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  52. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  53. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  54. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
  55. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  56. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  57. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  58. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  59. package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +82 -81
  60. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +1 -1
  61. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  62. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  63. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  64. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  65. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  66. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  67. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  68. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  69. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
  70. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  71. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  72. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  73. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  74. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +2 -2
  75. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  76. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  77. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
  78. package/SVF-doxygen/html/classSVF_1_1ICFGSimplification.html +43 -44
  79. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  81. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  82. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  83. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  84. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +538 -538
  85. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
  86. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
  89. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
  90. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  91. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  92. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
  93. package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
  94. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  96. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  99. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  100. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +792 -791
  102. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +8 -8
  103. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  104. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  105. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  107. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +8 -8
  108. package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  112. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  113. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1WTO.html +253 -253
  115. package/SVF-doxygen/html/classSVF_1_1WTOComponent.html +21 -21
  116. package/SVF-doxygen/html/classSVF_1_1WTOComponentVisitor.html +3 -3
  117. package/SVF-doxygen/html/classSVF_1_1WTOCycle.html +61 -61
  118. package/SVF-doxygen/html/classSVF_1_1WTOCycleDepth.html +115 -115
  119. package/SVF-doxygen/html/classSVF_1_1WTONode.html +31 -31
  120. package/SVF-doxygen/html/classSVF_1_1WTO_1_1WTOCycleDepthBuilder.html +31 -31
  121. package/SVF-doxygen/html/globals_vars.html +3 -3
  122. package/SVF-doxygen/html/globals_z.html +3 -3
  123. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +529 -483
  124. package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +2 -2
  125. package/SVF-doxygen/html/namespacemembers_func_r.html +3 -0
  126. package/SVF-doxygen/html/namespacemembers_r.html +3 -0
  127. package/SVF-doxygen/html/search/all_11.js +54 -53
  128. package/SVF-doxygen/html/search/all_12.js +570 -570
  129. package/SVF-doxygen/html/search/all_13.js +207 -207
  130. package/SVF-doxygen/html/search/all_14.js +70 -70
  131. package/SVF-doxygen/html/search/all_15.js +176 -176
  132. package/SVF-doxygen/html/search/all_16.js +77 -77
  133. package/SVF-doxygen/html/search/all_17.js +1 -1
  134. package/SVF-doxygen/html/search/all_18.js +1 -1
  135. package/SVF-doxygen/html/search/all_19.js +26 -26
  136. package/SVF-doxygen/html/search/all_1a.js +180 -180
  137. package/SVF-doxygen/html/search/classes_0.js +29 -29
  138. package/SVF-doxygen/html/search/classes_1.js +12 -12
  139. package/SVF-doxygen/html/search/classes_10.js +74 -74
  140. package/SVF-doxygen/html/search/classes_11.js +14 -14
  141. package/SVF-doxygen/html/search/classes_12.js +2 -2
  142. package/SVF-doxygen/html/search/classes_13.js +10 -10
  143. package/SVF-doxygen/html/search/classes_14.js +19 -19
  144. package/SVF-doxygen/html/search/classes_15.js +1 -1
  145. package/SVF-doxygen/html/search/classes_2.js +73 -73
  146. package/SVF-doxygen/html/search/classes_3.js +35 -35
  147. package/SVF-doxygen/html/search/classes_4.js +8 -8
  148. package/SVF-doxygen/html/search/classes_5.js +28 -28
  149. package/SVF-doxygen/html/search/classes_6.js +98 -98
  150. package/SVF-doxygen/html/search/classes_7.js +38 -38
  151. package/SVF-doxygen/html/search/classes_8.js +59 -59
  152. package/SVF-doxygen/html/search/classes_9.js +1 -1
  153. package/SVF-doxygen/html/search/classes_a.js +12 -12
  154. package/SVF-doxygen/html/search/classes_b.js +29 -29
  155. package/SVF-doxygen/html/search/classes_c.js +6 -6
  156. package/SVF-doxygen/html/search/classes_d.js +19 -19
  157. package/SVF-doxygen/html/search/classes_e.js +36 -36
  158. package/SVF-doxygen/html/search/classes_f.js +25 -25
  159. package/SVF-doxygen/html/search/defines_0.js +3 -3
  160. package/SVF-doxygen/html/search/defines_1.js +3 -3
  161. package/SVF-doxygen/html/search/defines_10.js +2 -2
  162. package/SVF-doxygen/html/search/defines_2.js +30 -30
  163. package/SVF-doxygen/html/search/defines_3.js +20 -20
  164. package/SVF-doxygen/html/search/defines_4.js +3 -3
  165. package/SVF-doxygen/html/search/defines_5.js +4 -4
  166. package/SVF-doxygen/html/search/defines_6.js +2 -2
  167. package/SVF-doxygen/html/search/defines_7.js +5 -5
  168. package/SVF-doxygen/html/search/defines_8.js +11 -11
  169. package/SVF-doxygen/html/search/defines_9.js +9 -9
  170. package/SVF-doxygen/html/search/defines_a.js +2 -2
  171. package/SVF-doxygen/html/search/defines_b.js +1 -1
  172. package/SVF-doxygen/html/search/defines_c.js +4 -4
  173. package/SVF-doxygen/html/search/defines_d.js +2 -2
  174. package/SVF-doxygen/html/search/defines_e.js +8 -8
  175. package/SVF-doxygen/html/search/defines_f.js +4 -4
  176. package/SVF-doxygen/html/search/enums_0.js +4 -4
  177. package/SVF-doxygen/html/search/enums_1.js +2 -2
  178. package/SVF-doxygen/html/search/enums_10.js +1 -1
  179. package/SVF-doxygen/html/search/enums_11.js +1 -1
  180. package/SVF-doxygen/html/search/enums_2.js +8 -8
  181. package/SVF-doxygen/html/search/enums_3.js +1 -1
  182. package/SVF-doxygen/html/search/enums_4.js +4 -4
  183. package/SVF-doxygen/html/search/enums_5.js +1 -1
  184. package/SVF-doxygen/html/search/enums_6.js +2 -2
  185. package/SVF-doxygen/html/search/enums_7.js +2 -2
  186. package/SVF-doxygen/html/search/enums_8.js +4 -4
  187. package/SVF-doxygen/html/search/enums_9.js +1 -1
  188. package/SVF-doxygen/html/search/enums_a.js +1 -1
  189. package/SVF-doxygen/html/search/enums_b.js +7 -7
  190. package/SVF-doxygen/html/search/enums_c.js +1 -1
  191. package/SVF-doxygen/html/search/enums_d.js +4 -4
  192. package/SVF-doxygen/html/search/enums_e.js +2 -2
  193. package/SVF-doxygen/html/search/enums_f.js +4 -4
  194. package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
  195. package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
  196. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  197. package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
  198. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  199. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  200. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  201. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  202. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  203. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  204. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  205. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  206. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  207. package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
  208. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  209. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  210. package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
  211. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  212. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  213. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  214. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  215. package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
  216. package/SVF-doxygen/html/search/files_0.js +16 -16
  217. package/SVF-doxygen/html/search/files_1.js +9 -9
  218. package/SVF-doxygen/html/search/files_10.js +8 -8
  219. package/SVF-doxygen/html/search/files_11.js +8 -8
  220. package/SVF-doxygen/html/search/files_12.js +2 -2
  221. package/SVF-doxygen/html/search/files_2.js +53 -53
  222. package/SVF-doxygen/html/search/files_3.js +14 -14
  223. package/SVF-doxygen/html/search/files_4.js +5 -5
  224. package/SVF-doxygen/html/search/files_5.js +13 -13
  225. package/SVF-doxygen/html/search/files_6.js +10 -10
  226. package/SVF-doxygen/html/search/files_7.js +17 -17
  227. package/SVF-doxygen/html/search/files_8.js +13 -13
  228. package/SVF-doxygen/html/search/files_9.js +18 -18
  229. package/SVF-doxygen/html/search/files_a.js +3 -3
  230. package/SVF-doxygen/html/search/files_b.js +4 -4
  231. package/SVF-doxygen/html/search/files_c.js +20 -20
  232. package/SVF-doxygen/html/search/files_d.js +4 -4
  233. package/SVF-doxygen/html/search/files_e.js +62 -62
  234. package/SVF-doxygen/html/search/files_f.js +8 -8
  235. package/SVF-doxygen/html/search/functions_0.js +13 -13
  236. package/SVF-doxygen/html/search/functions_1.js +369 -369
  237. package/SVF-doxygen/html/search/functions_10.js +140 -140
  238. package/SVF-doxygen/html/search/functions_11.js +140 -139
  239. package/SVF-doxygen/html/search/functions_12.js +299 -299
  240. package/SVF-doxygen/html/search/functions_13.js +73 -73
  241. package/SVF-doxygen/html/search/functions_14.js +41 -41
  242. package/SVF-doxygen/html/search/functions_15.js +72 -72
  243. package/SVF-doxygen/html/search/functions_16.js +38 -38
  244. package/SVF-doxygen/html/search/functions_17.js +3 -3
  245. package/SVF-doxygen/html/search/functions_18.js +180 -180
  246. package/SVF-doxygen/html/search/functions_2.js +95 -95
  247. package/SVF-doxygen/html/search/functions_3.js +261 -261
  248. package/SVF-doxygen/html/search/functions_4.js +84 -84
  249. package/SVF-doxygen/html/search/functions_5.js +57 -57
  250. package/SVF-doxygen/html/search/functions_6.js +65 -65
  251. package/SVF-doxygen/html/search/functions_7.js +863 -863
  252. package/SVF-doxygen/html/search/functions_8.js +162 -162
  253. package/SVF-doxygen/html/search/functions_9.js +439 -439
  254. package/SVF-doxygen/html/search/functions_a.js +30 -30
  255. package/SVF-doxygen/html/search/functions_b.js +2 -2
  256. package/SVF-doxygen/html/search/functions_c.js +25 -25
  257. package/SVF-doxygen/html/search/functions_d.js +82 -82
  258. package/SVF-doxygen/html/search/functions_e.js +36 -36
  259. package/SVF-doxygen/html/search/functions_f.js +58 -58
  260. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  261. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  262. package/SVF-doxygen/html/search/related_0.js +4 -4
  263. package/SVF-doxygen/html/search/related_1.js +2 -2
  264. package/SVF-doxygen/html/search/related_2.js +2 -2
  265. package/SVF-doxygen/html/search/related_3.js +2 -2
  266. package/SVF-doxygen/html/search/related_4.js +2 -2
  267. package/SVF-doxygen/html/search/related_5.js +1 -1
  268. package/SVF-doxygen/html/search/related_6.js +2 -2
  269. package/SVF-doxygen/html/search/related_7.js +5 -5
  270. package/SVF-doxygen/html/search/related_8.js +2 -2
  271. package/SVF-doxygen/html/search/related_9.js +4 -4
  272. package/SVF-doxygen/html/search/related_a.js +19 -19
  273. package/SVF-doxygen/html/search/related_b.js +4 -4
  274. package/SVF-doxygen/html/search/related_c.js +2 -2
  275. package/SVF-doxygen/html/search/related_d.js +12 -12
  276. package/SVF-doxygen/html/search/related_e.js +2 -2
  277. package/SVF-doxygen/html/search/related_f.js +2 -2
  278. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  279. package/SVF-doxygen/html/search/typedefs_1.js +27 -27
  280. package/SVF-doxygen/html/search/typedefs_10.js +63 -63
  281. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  282. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  283. package/SVF-doxygen/html/search/typedefs_13.js +40 -40
  284. package/SVF-doxygen/html/search/typedefs_14.js +11 -11
  285. package/SVF-doxygen/html/search/typedefs_2.js +125 -125
  286. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  287. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  288. package/SVF-doxygen/html/search/typedefs_5.js +42 -42
  289. package/SVF-doxygen/html/search/typedefs_6.js +54 -54
  290. package/SVF-doxygen/html/search/typedefs_7.js +47 -47
  291. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  292. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  293. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  294. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  295. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  296. package/SVF-doxygen/html/search/typedefs_d.js +15 -15
  297. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  298. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  299. package/SVF-doxygen/html/search/variables_0.js +177 -177
  300. package/SVF-doxygen/html/search/variables_1.js +76 -76
  301. package/SVF-doxygen/html/search/variables_10.js +98 -98
  302. package/SVF-doxygen/html/search/variables_11.js +46 -46
  303. package/SVF-doxygen/html/search/variables_12.js +93 -93
  304. package/SVF-doxygen/html/search/variables_13.js +76 -76
  305. package/SVF-doxygen/html/search/variables_14.js +14 -14
  306. package/SVF-doxygen/html/search/variables_15.js +49 -49
  307. package/SVF-doxygen/html/search/variables_16.js +11 -11
  308. package/SVF-doxygen/html/search/variables_17.js +1 -1
  309. package/SVF-doxygen/html/search/variables_18.js +17 -17
  310. package/SVF-doxygen/html/search/variables_2.js +41 -41
  311. package/SVF-doxygen/html/search/variables_3.js +142 -142
  312. package/SVF-doxygen/html/search/variables_4.js +51 -51
  313. package/SVF-doxygen/html/search/variables_5.js +39 -39
  314. package/SVF-doxygen/html/search/variables_6.js +66 -66
  315. package/SVF-doxygen/html/search/variables_7.js +34 -34
  316. package/SVF-doxygen/html/search/variables_8.js +8 -8
  317. package/SVF-doxygen/html/search/variables_9.js +79 -79
  318. package/SVF-doxygen/html/search/variables_a.js +4 -4
  319. package/SVF-doxygen/html/search/variables_b.js +10 -10
  320. package/SVF-doxygen/html/search/variables_c.js +45 -45
  321. package/SVF-doxygen/html/search/variables_d.js +57 -57
  322. package/SVF-doxygen/html/search/variables_e.js +123 -123
  323. package/SVF-doxygen/html/search/variables_f.js +31 -31
  324. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  325. package/SVF-doxygen/html/structSVF_1_1has__edgetype.html +1 -1
  326. package/SVF-doxygen/html/structSVF_1_1has__edgetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1EdgeType_01_4_01_4.html +1 -1
  327. package/SVF-doxygen/html/structSVF_1_1has__nodetype.html +1 -1
  328. package/SVF-doxygen/html/structSVF_1_1has__nodetype_3_01T_00_01std_1_1void__t_3_01typename_01T_1_1NodeType_01_4_01_4.html +1 -1
  329. package/SVF-doxygen/html/svf-ex_8cpp.html +12 -12
  330. package/SVF-doxygen/html/svf-ex_8cpp_source.html +12 -12
  331. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +1 -1
  332. package/package.json +1 -1
  333. package/svf/include/Graphs/WTO.h +1 -0
  334. package/svf/lib/AE/Svfexe/AbstractExecution.cpp +1 -0
  335. package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +1 -0
  336. package/svf/lib/AE/Svfexe/ICFGSimplification.cpp +1 -2
  337. package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +1 -0
  338. package/svf/lib/MemoryModel/AccessPath.cpp +4 -1
  339. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +2 -0
  340. package/svf-llvm/lib/LLVMModule.cpp +3 -4
  341. package/svf-llvm/lib/LLVMUtil.cpp +29 -2
  342. package/svf-llvm/lib/SVFIRBuilder.cpp +1 -1
  343. package/svf-llvm/tools/AE/ae.cpp +1 -2
@@ -416,26 +416,26 @@ Friends</h2></td></tr>
416
416
 
417
417
  <p>Check relations of two location sets. </p>
418
418
 
419
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00306">306</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
420
- <div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;{</div>
421
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</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>
422
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</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>
423
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
424
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div>
425
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
426
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
427
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</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>
428
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
429
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</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>
430
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
431
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">else</span></div>
432
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
433
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div>
434
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
435
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; {</div>
436
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
437
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div>
438
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div>
419
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00309">309</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
420
+ <div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;{</div>
421
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</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>
422
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</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>
423
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
424
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
425
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
426
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
427
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</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>
428
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
429
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</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>
430
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
431
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
432
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
433
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div>
434
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">else</span></div>
435
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; {</div>
436
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
437
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
438
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
439
439
  </div><!-- fragment -->
440
440
  </div>
441
441
  </div>
@@ -465,12 +465,12 @@ Friends</h2></td></tr>
465
465
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
466
466
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
467
467
 
468
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00264">264</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
469
- <div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div>
470
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
471
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>());</div>
472
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> result;</div>
473
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
468
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00267">267</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
469
+ <div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;{</div>
470
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
471
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>());</div>
472
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> result;</div>
473
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;}</div>
474
474
  </div><!-- fragment -->
475
475
  </div>
476
476
  </div>
@@ -562,58 +562,58 @@ Friends</h2></td></tr>
562
562
  <p>Return accumulated constant offset</p>
563
563
  <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>
564
564
 
565
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00209">209</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
566
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
567
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; </div>
568
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</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>
569
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
570
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
571
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="comment">//After the model-const and model-array options are turned on,</span></div>
572
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="comment">// the gepstmt offset generated by the array on the global</span></div>
573
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// node will be saved in getConstantStructFldIdx</span></div>
574
- <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#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() == 0)</div>
575
- <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#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
576
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() - 1; i &gt;= 0; i--)</div>
577
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div>
578
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</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#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].first-&gt;getValue();</div>
579
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</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#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].second;</div>
580
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</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>
581
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
582
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
583
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
584
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
585
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">continue</span>;</div>
586
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; }</div>
587
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
588
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
589
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</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>(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>);</div>
590
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">else</span></div>
591
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div>
592
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</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>
593
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
594
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div>
595
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
596
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="comment">// if offset is larger than the size of getFlattenedElemIdxVec (overflow)</span></div>
597
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="comment">// set offset the last index of getFlattenedElemIdxVec to avoid assertion</span></div>
598
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
599
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
600
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;It is overflow access, we access the last idx\n&quot;</span>;</div>
601
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = so.size() - 1;</div>
602
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; }</div>
603
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">else</span></div>
604
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div>
605
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; </div>
606
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
607
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; </div>
608
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> flattenOffset =</div>
609
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</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>
610
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
611
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; totalConstOffset += flattenOffset;</div>
612
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div>
613
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
614
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
615
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
616
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div>
565
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00212">212</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
566
+ <div class="fragment"><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;{</div>
567
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
568
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</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>
569
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
570
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
571
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <span class="comment">//After the model-const and model-array options are turned on,</span></div>
572
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// the gepstmt offset generated by the array on the global</span></div>
573
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="comment">// node will be saved in getConstantStructFldIdx</span></div>
574
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() == 0)</div>
575
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
576
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() - 1; i &gt;= 0; i--)</div>
577
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div>
578
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</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#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].first-&gt;getValue();</div>
579
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</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#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].second;</div>
580
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</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>
581
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; assert(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div>
582
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
583
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div>
584
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; totalConstOffset += op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
585
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">continue</span>;</div>
586
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
587
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
588
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
589
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</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>(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>);</div>
590
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">else</span></div>
591
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div>
592
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</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>
593
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
594
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
595
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
596
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="comment">// if offset is larger than the size of getFlattenedElemIdxVec (overflow)</span></div>
597
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// set offset the last index of getFlattenedElemIdxVec to avoid assertion</span></div>
598
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
599
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div>
600
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;It is overflow access, we access the last idx\n&quot;</span>;</div>
601
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = so.size() - 1;</div>
602
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
603
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">else</span></div>
604
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div>
605
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
606
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
607
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; </div>
608
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> flattenOffset =</div>
609
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</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>
610
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
611
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; totalConstOffset += flattenOffset;</div>
612
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div>
613
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div>
614
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
615
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
616
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
617
617
  </div><!-- fragment -->
618
618
  </div>
619
619
  </div>
@@ -634,24 +634,24 @@ Friends</h2></td></tr>
634
634
 
635
635
  <p>Dump location set. </p>
636
636
 
637
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00328">328</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
638
- <div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;{</div>
639
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
640
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; std::stringstream rawstr(str);</div>
641
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
642
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
643
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
644
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
645
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; IdxOperandPairs::const_iterator it = vec.begin();</div>
646
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; IdxOperandPairs::const_iterator eit = vec.end();</div>
647
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
648
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
649
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
650
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</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>
651
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div>
652
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
653
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
654
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;}</div>
637
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00331">331</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
638
+ <div class="fragment"><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;{</div>
639
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
640
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; std::stringstream rawstr(str);</div>
641
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; </div>
642
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
643
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
644
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; vec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
645
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; IdxOperandPairs::const_iterator it = vec.begin();</div>
646
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; IdxOperandPairs::const_iterator eit = vec.end();</div>
647
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
648
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
649
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
650
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</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>
651
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; }</div>
652
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
653
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
654
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;}</div>
655
655
  </div><!-- fragment -->
656
656
  </div>
657
657
  </div>
@@ -832,7 +832,7 @@ Friends</h2></td></tr>
832
832
  <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> structByteOffset = 0;</div>
833
833
  <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(idxValue))</div>
834
834
  <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div>
835
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> structField = 0; structField &lt; (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)op-&gt;getSExtValue(); ++structField)</div>
835
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> structField = 0; structField &lt; (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) op-&gt;getSExtValue(); ++structField)</div>
836
836
  <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div>
837
837
  <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> flattenIdx = idxOperandType-&gt;<a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-&gt;<a class="code" href="classSVF_1_1StInfo.html#aaf05447c20c9f90eea64ab6e88d6ab05">getFlattenedFieldIdxVec</a>()[structField];</div>
838
838
  <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; structByteOffset += idxOperandType-&gt;<a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-&gt;<a class="code" href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">getOriginalElemType</a>(flattenIdx)-&gt;<a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
@@ -840,8 +840,11 @@ Friends</h2></td></tr>
840
840
  <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> structByteOffset;</div>
841
841
  <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div>
842
842
  <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">else</span></div>
843
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;struct type can only pair with constant idx&quot;</span>);</div>
844
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;}</div>
843
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div>
844
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;struct type can only pair with constant idx&quot;</span>);</div>
845
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; abort();</div>
846
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div>
847
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div>
845
848
  </div><!-- fragment -->
846
849
  </div>
847
850
  </div>
@@ -926,16 +929,16 @@ Friends</h2></td></tr>
926
929
 
927
930
  <p>Overload operators. </p>
928
931
 
929
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00271">271</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
930
- <div class="fragment"><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;{</div>
931
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a> == rhs.<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>() &amp;&amp; <span class="stringliteral">&quot;source element type not match&quot;</span>);</div>
932
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
933
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
934
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getIdxOperandPairVec())</div>
935
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</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>
936
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
937
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> ap;</div>
938
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
932
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00274">274</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
933
+ <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div>
934
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; assert(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a> == rhs.<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>() &amp;&amp; <span class="stringliteral">&quot;source element type not match&quot;</span>);</div>
935
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
936
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
937
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getIdxOperandPairVec())</div>
938
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</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>
939
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
940
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> ap;</div>
941
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;}</div>
939
942
  </div><!-- fragment -->
940
943
  </div>
941
944
  </div>
@@ -955,29 +958,29 @@ Friends</h2></td></tr>
955
958
  </table>
956
959
  </div><div class="memdoc">
957
960
 
958
- <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00282">282</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
959
- <div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div>
960
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</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>
961
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</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>
962
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">else</span></div>
963
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; {</div>
964
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
965
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
966
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
967
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
968
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">else</span></div>
969
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div>
970
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; IdxOperandPairs::const_iterator it = pairVec.begin();</div>
971
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
972
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
973
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; {</div>
974
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
975
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
976
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; </div>
977
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
978
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
979
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
980
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div>
961
+ <p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00285">285</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
962
+ <div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;{</div>
963
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</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>
964
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</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>
965
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span></div>
966
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
967
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; pairVec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
968
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
969
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
970
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
971
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">else</span></div>
972
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; {</div>
973
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; IdxOperandPairs::const_iterator it = pairVec.begin();</div>
974
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
975
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
976
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div>
977
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
978
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
979
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; </div>
980
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
981
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div>
982
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
983
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;}</div>
981
984
  </div><!-- fragment -->
982
985
  </div>
983
986
  </div>
@@ -1245,7 +1248,7 @@ Friends</h2></td></tr>
1245
1248
  <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>
1246
1249
  <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>
1247
1250
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a5427d08c9eb9d86e66c2bff6aeba6bac"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00100">AccessPath.h:100</a></div></div>
1248
- <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#l00264">AccessPath.cpp:264</a></div></div>
1251
+ <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#l00267">AccessPath.cpp:267</a></div></div>
1249
1252
  <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>
1250
1253
  <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>
1251
1254
  <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#l00180">SymbolTableInfo.cpp:180</a></div></div>
@@ -612,7 +612,7 @@ Additional Inherited Members</h2></td></tr>
612
612
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
613
613
  <div class="ttc" id="aclassSVF_1_1MemRegion_html_a7d38f6ef18106eb388b3a289aad79802"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">SVF::MemRegion::getMRID</a></div><div class="ttdeci">MRID getMRID() const</div><div class="ttdoc">Return memory region ID.</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00078">MemRegion.h:78</a></div></div>
614
614
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75ab6ba0a5a5e8d8d37dc5e2a46224fdbad">SVF::VFGNode::APIN</a></div><div class="ttdeci">@ APIN</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
615
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
615
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
616
616
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
617
617
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
618
618
  <div class="ttc" id="aclassSVF_1_1ActualINSVFGNode_html_aa92b36228a6f42496984cfea32f3415c"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html#aa92b36228a6f42496984cfea32f3415c">SVF::ActualINSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00200">SVFGNode.h:200</a></div></div>
@@ -613,7 +613,7 @@ Additional Inherited Members</h2></td></tr>
613
613
  <div class="ttc" id="aclassSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75a562b0ba840860c8eeaaca1a66e61b54f">SVF::VFGNode::APOUT</a></div><div class="ttdeci">@ APOUT</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00056">VFGNode.h:56</a></div></div>
614
614
  <div class="ttc" id="aclassSVF_1_1MemRegion_html_a7d38f6ef18106eb388b3a289aad79802"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">SVF::MemRegion::getMRID</a></div><div class="ttdeci">MRID getMRID() const</div><div class="ttdoc">Return memory region ID.</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00078">MemRegion.h:78</a></div></div>
615
615
  <div class="ttc" id="aclassSVF_1_1ActualOUTSVFGNode_html_a3e3a14a042d75e5613eb049a9eb4fac5"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a3e3a14a042d75e5613eb049a9eb4fac5">SVF::ActualOUTSVFGNode::getMRVer</a></div><div class="ttdeci">const MRVer * getMRVer() const</div><div class="ttdoc">Ver.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00249">SVFGNode.h:249</a></div></div>
616
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
616
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
617
617
  <div class="ttc" id="aclassSVF_1_1MRVer_html_a170a933f25684bda23321ba05c7a7d88"><div class="ttname"><a href="classSVF_1_1MRVer.html#a170a933f25684bda23321ba05c7a7d88">SVF::MRVer::getSSAVersion</a></div><div class="ttdeci">MRVERSION getSSAVersion() const</div><div class="ttdoc">Return SSA version.</div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00069">MSSAMuChi.h:69</a></div></div>
618
618
  <div class="ttc" id="aclassSVF_1_1ActualOUTSVFGNode_html_a9b0ad566d3fab6336d84ba07f541370f"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html#a9b0ad566d3fab6336d84ba07f541370f">SVF::ActualOUTSVFGNode::ver</a></div><div class="ttdeci">const MRVer * ver</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00233">SVFGNode.h:233</a></div></div>
619
619
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
@@ -665,7 +665,7 @@ Additional Inherited Members</h2></td></tr>
665
665
  <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>
666
666
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_abc65520cc2b9608c97374829eb475c57"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">SVF::AssignStmt::AssignStmt</a></div><div class="ttdeci">AssignStmt()</div><div class="ttdoc">place holder</div></div>
667
667
  <div class="ttc" id="aclassSVF_1_1SVFStmt_html_abb784290c90d26f35897fa15bae277d2"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00147">SVFStatements.h:147</a></div></div>
668
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
668
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
669
669
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
670
670
  <div class="ttc" id="aclassSVF_1_1AddrStmt_html_a3f93129580df758cf92004d8c0380996"><div class="ttname"><a href="classSVF_1_1AddrStmt.html#a3f93129580df758cf92004d8c0380996">SVF::AddrStmt::arrSize</a></div><div class="ttdeci">std::vector&lt; SVFValue * &gt; arrSize</div><div class="ttdoc">Array size of the allocated memory.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00324">SVFStatements.h:324</a></div></div>
671
671
  <!-- start footer part -->
@@ -499,7 +499,7 @@ Additional Inherited Members</h2></td></tr>
499
499
  <div class="ttc" id="aclassSVF_1_1DDAClient_html_a4ac68012099540beb87ee4700e824d64"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a4ac68012099540beb87ee4700e824d64">SVF::DDAClient::module</a></div><div class="ttdeci">SVFModule * module</div><div class="ttdoc">LLVM module.</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00112">DDAClient.h:112</a></div></div>
500
500
  <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>
501
501
  <div class="ttc" id="aclassSVF_1_1AliasDDAClient_html_aaad2197cec53f7eae91b3c57c168447a"><div class="ttname"><a href="classSVF_1_1AliasDDAClient.html#aaad2197cec53f7eae91b3c57c168447a">SVF::AliasDDAClient::storeDstNodes</a></div><div class="ttdeci">PAGNodeSet storeDstNodes</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00162">DDAClient.h:162</a></div></div>
502
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
502
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
503
503
  <div class="ttc" id="aclassSVF_1_1DDAClient_html_a7c07d9527011ea0165038e3a112a85d8"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">SVF::DDAClient::addCandidate</a></div><div class="ttdeci">void addCandidate(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00105">DDAClient.h:105</a></div></div>
504
504
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_ae2006820c0d00482b85e7ae3adcb5744"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae2006820c0d00482b85e7ae3adcb5744">SVF::SVFIR::getSVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy &amp; getSVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get/set methods to get SVFStmts based on their kinds and ICFGNodes.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00188">SVFIR.h:188</a></div></div>
505
505
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
@@ -3194,7 +3194,7 @@ Additional Inherited Members</h2></td></tr>
3194
3194
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_aae14de6fbca9280d8d0290326aa493f0"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">SVF::AndersenBase::timeOfProcessCopyGep</a></div><div class="ttdeci">static double timeOfProcessCopyGep</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00143">Andersen.h:143</a></div></div>
3195
3195
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
3196
3196
  <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
3197
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
3197
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00931">LLVMUtil.cpp:931</a></div></div>
3198
3198
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_a13746982a11d0cab57e5919d53bfbec8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a13746982a11d0cab57e5919d53bfbec8">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Returns true if set is empty.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00098">PointsTo.cpp:98</a></div></div>
3199
3199
  <div class="ttc" id="aclassSVF_1_1Andersen_html_abc20264231658b99998bc4af1f03a4de"><div class="ttname"><a href="classSVF_1_1Andersen.html#abc20264231658b99998bc4af1f03a4de">SVF::Andersen::processLoad</a></div><div class="ttdeci">virtual bool processLoad(NodeID node, const ConstraintEdge *load)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00349">Andersen.cpp:349</a></div></div>
3200
3200
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00359">GenericGraph.h:359</a></div></div>