svf-tools 1.0.830 → 1.0.832

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 (362) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +220 -228
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +9 -9
  3. package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +8 -8
  8. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/ConsG_8h_source.html +1 -1
  10. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/ContextDDA_8h_source.html +1 -1
  12. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  13. package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
  17. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
  19. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
  22. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +7 -7
  23. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +369 -402
  24. package/SVF-doxygen/html/LLVMUtil_8h.html +3 -10
  25. package/SVF-doxygen/html/LLVMUtil_8h_source.html +350 -392
  26. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/MemRegion_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +4 -4
  31. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +358 -362
  32. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +13 -13
  33. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +5 -5
  34. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +6 -6
  35. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +13 -13
  36. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/SVFIR_8h_source.html +1 -1
  39. package/SVF-doxygen/html/SVFStat_8cpp_source.html +12 -12
  40. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/SVFStatements_8h_source.html +2 -2
  42. package/SVF-doxygen/html/SVFType_8cpp_source.html +38 -39
  43. package/SVF-doxygen/html/SVFType_8h_source.html +5 -5
  44. package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
  46. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
  48. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +199 -199
  51. package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +4 -4
  52. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +318 -322
  53. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +33 -33
  54. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  56. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +200 -209
  57. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  58. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  59. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  60. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
  61. package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
  62. package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +1 -1
  63. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +4 -4
  64. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  65. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  66. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  67. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +3 -3
  68. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +8 -8
  69. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  70. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  71. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  72. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  73. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +2 -2
  74. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  75. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  76. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  77. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  78. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
  79. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  80. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
  81. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  82. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  83. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
  84. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
  85. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  86. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  87. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
  88. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +2 -2
  89. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +3 -3
  90. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  91. package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
  92. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  93. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  94. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  95. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  96. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  97. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  98. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +7 -7
  99. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
  100. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  101. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  102. package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
  104. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  105. package/SVF-doxygen/html/classSVF_1_1MemObj.html +121 -121
  106. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
  107. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +28 -28
  108. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +2 -2
  109. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +336 -340
  112. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  113. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +4 -4
  115. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +4 -4
  116. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +4 -4
  118. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +6 -6
  119. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +16 -16
  120. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +7 -7
  121. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +4 -4
  122. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +2 -4
  123. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +12 -12
  124. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +4 -4
  125. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  126. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  128. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
  129. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  130. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +196 -196
  131. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +103 -107
  132. package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
  133. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  135. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
  136. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +2 -2
  137. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  139. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  141. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +526 -669
  142. package/SVF-doxygen/html/namespacemembers_func_g.html +0 -6
  143. package/SVF-doxygen/html/namespacemembers_func_i.html +9 -9
  144. package/SVF-doxygen/html/namespacemembers_g.html +4 -10
  145. package/SVF-doxygen/html/namespacemembers_i.html +7 -7
  146. package/SVF-doxygen/html/search/all_10.js +324 -324
  147. package/SVF-doxygen/html/search/all_11.js +223 -223
  148. package/SVF-doxygen/html/search/all_12.js +553 -553
  149. package/SVF-doxygen/html/search/all_13.js +192 -192
  150. package/SVF-doxygen/html/search/all_14.js +67 -67
  151. package/SVF-doxygen/html/search/all_15.js +167 -167
  152. package/SVF-doxygen/html/search/all_16.js +63 -63
  153. package/SVF-doxygen/html/search/all_17.js +1 -1
  154. package/SVF-doxygen/html/search/all_18.js +1 -1
  155. package/SVF-doxygen/html/search/all_19.js +11 -11
  156. package/SVF-doxygen/html/search/all_1a.js +172 -172
  157. package/SVF-doxygen/html/search/all_7.js +246 -248
  158. package/SVF-doxygen/html/search/all_8.js +198 -198
  159. package/SVF-doxygen/html/search/all_9.js +607 -607
  160. package/SVF-doxygen/html/search/all_a.js +46 -46
  161. package/SVF-doxygen/html/search/all_b.js +26 -26
  162. package/SVF-doxygen/html/search/all_c.js +115 -115
  163. package/SVF-doxygen/html/search/all_d.js +198 -198
  164. package/SVF-doxygen/html/search/all_e.js +207 -207
  165. package/SVF-doxygen/html/search/all_f.js +116 -116
  166. package/SVF-doxygen/html/search/classes_0.js +26 -26
  167. package/SVF-doxygen/html/search/classes_1.js +9 -9
  168. package/SVF-doxygen/html/search/classes_10.js +73 -73
  169. package/SVF-doxygen/html/search/classes_11.js +15 -15
  170. package/SVF-doxygen/html/search/classes_12.js +2 -2
  171. package/SVF-doxygen/html/search/classes_13.js +10 -10
  172. package/SVF-doxygen/html/search/classes_14.js +14 -14
  173. package/SVF-doxygen/html/search/classes_15.js +1 -1
  174. package/SVF-doxygen/html/search/classes_2.js +80 -80
  175. package/SVF-doxygen/html/search/classes_3.js +37 -37
  176. package/SVF-doxygen/html/search/classes_4.js +9 -9
  177. package/SVF-doxygen/html/search/classes_5.js +28 -28
  178. package/SVF-doxygen/html/search/classes_6.js +104 -104
  179. package/SVF-doxygen/html/search/classes_7.js +34 -34
  180. package/SVF-doxygen/html/search/classes_8.js +56 -56
  181. package/SVF-doxygen/html/search/classes_9.js +1 -1
  182. package/SVF-doxygen/html/search/classes_a.js +12 -12
  183. package/SVF-doxygen/html/search/classes_b.js +29 -29
  184. package/SVF-doxygen/html/search/classes_c.js +6 -6
  185. package/SVF-doxygen/html/search/classes_d.js +18 -18
  186. package/SVF-doxygen/html/search/classes_e.js +36 -36
  187. package/SVF-doxygen/html/search/classes_f.js +25 -25
  188. package/SVF-doxygen/html/search/defines_0.js +3 -3
  189. package/SVF-doxygen/html/search/defines_1.js +2 -2
  190. package/SVF-doxygen/html/search/defines_2.js +30 -30
  191. package/SVF-doxygen/html/search/defines_3.js +21 -21
  192. package/SVF-doxygen/html/search/defines_4.js +2 -2
  193. package/SVF-doxygen/html/search/defines_5.js +4 -4
  194. package/SVF-doxygen/html/search/defines_6.js +2 -2
  195. package/SVF-doxygen/html/search/defines_7.js +5 -5
  196. package/SVF-doxygen/html/search/defines_8.js +11 -11
  197. package/SVF-doxygen/html/search/defines_9.js +9 -9
  198. package/SVF-doxygen/html/search/defines_a.js +2 -2
  199. package/SVF-doxygen/html/search/defines_b.js +1 -1
  200. package/SVF-doxygen/html/search/defines_c.js +3 -3
  201. package/SVF-doxygen/html/search/defines_d.js +2 -2
  202. package/SVF-doxygen/html/search/defines_e.js +7 -7
  203. package/SVF-doxygen/html/search/defines_f.js +3 -3
  204. package/SVF-doxygen/html/search/enums_0.js +3 -3
  205. package/SVF-doxygen/html/search/enums_1.js +2 -2
  206. package/SVF-doxygen/html/search/enums_10.js +1 -1
  207. package/SVF-doxygen/html/search/enums_11.js +1 -1
  208. package/SVF-doxygen/html/search/enums_2.js +8 -8
  209. package/SVF-doxygen/html/search/enums_3.js +1 -1
  210. package/SVF-doxygen/html/search/enums_4.js +3 -3
  211. package/SVF-doxygen/html/search/enums_5.js +1 -1
  212. package/SVF-doxygen/html/search/enums_6.js +2 -2
  213. package/SVF-doxygen/html/search/enums_7.js +2 -2
  214. package/SVF-doxygen/html/search/enums_8.js +4 -4
  215. package/SVF-doxygen/html/search/enums_9.js +1 -1
  216. package/SVF-doxygen/html/search/enums_a.js +1 -1
  217. package/SVF-doxygen/html/search/enums_b.js +7 -7
  218. package/SVF-doxygen/html/search/enums_c.js +1 -1
  219. package/SVF-doxygen/html/search/enums_d.js +4 -4
  220. package/SVF-doxygen/html/search/enums_e.js +2 -2
  221. package/SVF-doxygen/html/search/enums_f.js +4 -4
  222. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  223. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  224. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  225. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  226. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  227. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  228. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  229. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  230. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  231. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  232. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  233. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  234. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  235. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  236. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  237. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  238. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  239. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  240. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  241. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  242. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  243. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  244. package/SVF-doxygen/html/search/files_0.js +13 -13
  245. package/SVF-doxygen/html/search/files_1.js +7 -7
  246. package/SVF-doxygen/html/search/files_10.js +8 -8
  247. package/SVF-doxygen/html/search/files_11.js +8 -8
  248. package/SVF-doxygen/html/search/files_12.js +2 -2
  249. package/SVF-doxygen/html/search/files_2.js +55 -55
  250. package/SVF-doxygen/html/search/files_3.js +14 -14
  251. package/SVF-doxygen/html/search/files_4.js +5 -5
  252. package/SVF-doxygen/html/search/files_5.js +13 -13
  253. package/SVF-doxygen/html/search/files_6.js +9 -9
  254. package/SVF-doxygen/html/search/files_7.js +14 -14
  255. package/SVF-doxygen/html/search/files_8.js +13 -13
  256. package/SVF-doxygen/html/search/files_9.js +18 -18
  257. package/SVF-doxygen/html/search/files_a.js +3 -3
  258. package/SVF-doxygen/html/search/files_b.js +2 -2
  259. package/SVF-doxygen/html/search/files_c.js +20 -20
  260. package/SVF-doxygen/html/search/files_d.js +4 -4
  261. package/SVF-doxygen/html/search/files_e.js +62 -62
  262. package/SVF-doxygen/html/search/files_f.js +8 -8
  263. package/SVF-doxygen/html/search/functions_0.js +13 -13
  264. package/SVF-doxygen/html/search/functions_1.js +360 -360
  265. package/SVF-doxygen/html/search/functions_10.js +140 -140
  266. package/SVF-doxygen/html/search/functions_11.js +139 -139
  267. package/SVF-doxygen/html/search/functions_12.js +288 -288
  268. package/SVF-doxygen/html/search/functions_13.js +59 -59
  269. package/SVF-doxygen/html/search/functions_14.js +39 -39
  270. package/SVF-doxygen/html/search/functions_15.js +71 -71
  271. package/SVF-doxygen/html/search/functions_16.js +32 -32
  272. package/SVF-doxygen/html/search/functions_17.js +3 -3
  273. package/SVF-doxygen/html/search/functions_18.js +172 -172
  274. package/SVF-doxygen/html/search/functions_2.js +89 -89
  275. package/SVF-doxygen/html/search/functions_3.js +258 -258
  276. package/SVF-doxygen/html/search/functions_4.js +78 -78
  277. package/SVF-doxygen/html/search/functions_5.js +53 -53
  278. package/SVF-doxygen/html/search/functions_6.js +60 -60
  279. package/SVF-doxygen/html/search/functions_7.js +855 -857
  280. package/SVF-doxygen/html/search/functions_8.js +149 -149
  281. package/SVF-doxygen/html/search/functions_9.js +423 -423
  282. package/SVF-doxygen/html/search/functions_a.js +30 -30
  283. package/SVF-doxygen/html/search/functions_b.js +2 -2
  284. package/SVF-doxygen/html/search/functions_c.js +25 -25
  285. package/SVF-doxygen/html/search/functions_d.js +79 -79
  286. package/SVF-doxygen/html/search/functions_e.js +35 -35
  287. package/SVF-doxygen/html/search/functions_f.js +56 -56
  288. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  289. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  290. package/SVF-doxygen/html/search/related_0.js +2 -2
  291. package/SVF-doxygen/html/search/related_1.js +2 -2
  292. package/SVF-doxygen/html/search/related_2.js +2 -2
  293. package/SVF-doxygen/html/search/related_3.js +2 -2
  294. package/SVF-doxygen/html/search/related_4.js +2 -2
  295. package/SVF-doxygen/html/search/related_5.js +1 -1
  296. package/SVF-doxygen/html/search/related_6.js +2 -2
  297. package/SVF-doxygen/html/search/related_7.js +4 -4
  298. package/SVF-doxygen/html/search/related_8.js +2 -2
  299. package/SVF-doxygen/html/search/related_9.js +4 -4
  300. package/SVF-doxygen/html/search/related_a.js +19 -19
  301. package/SVF-doxygen/html/search/related_b.js +4 -4
  302. package/SVF-doxygen/html/search/related_c.js +2 -2
  303. package/SVF-doxygen/html/search/related_d.js +12 -12
  304. package/SVF-doxygen/html/search/related_e.js +2 -2
  305. package/SVF-doxygen/html/search/related_f.js +2 -2
  306. package/SVF-doxygen/html/search/typedefs_0.js +19 -19
  307. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  308. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  309. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  310. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  311. package/SVF-doxygen/html/search/typedefs_13.js +33 -33
  312. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  313. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  314. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  315. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  316. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  317. package/SVF-doxygen/html/search/typedefs_6.js +56 -56
  318. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  319. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  320. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  321. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  322. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  323. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  324. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  325. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  326. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  327. package/SVF-doxygen/html/search/variables_0.js +151 -151
  328. package/SVF-doxygen/html/search/variables_1.js +75 -75
  329. package/SVF-doxygen/html/search/variables_10.js +97 -97
  330. package/SVF-doxygen/html/search/variables_11.js +44 -44
  331. package/SVF-doxygen/html/search/variables_12.js +92 -92
  332. package/SVF-doxygen/html/search/variables_13.js +76 -76
  333. package/SVF-doxygen/html/search/variables_14.js +14 -14
  334. package/SVF-doxygen/html/search/variables_15.js +48 -48
  335. package/SVF-doxygen/html/search/variables_16.js +9 -9
  336. package/SVF-doxygen/html/search/variables_17.js +1 -1
  337. package/SVF-doxygen/html/search/variables_18.js +2 -2
  338. package/SVF-doxygen/html/search/variables_2.js +38 -38
  339. package/SVF-doxygen/html/search/variables_3.js +142 -142
  340. package/SVF-doxygen/html/search/variables_4.js +55 -55
  341. package/SVF-doxygen/html/search/variables_5.js +37 -37
  342. package/SVF-doxygen/html/search/variables_6.js +66 -66
  343. package/SVF-doxygen/html/search/variables_7.js +34 -34
  344. package/SVF-doxygen/html/search/variables_8.js +7 -7
  345. package/SVF-doxygen/html/search/variables_9.js +78 -78
  346. package/SVF-doxygen/html/search/variables_a.js +4 -4
  347. package/SVF-doxygen/html/search/variables_b.js +10 -10
  348. package/SVF-doxygen/html/search/variables_c.js +45 -45
  349. package/SVF-doxygen/html/search/variables_d.js +56 -56
  350. package/SVF-doxygen/html/search/variables_e.js +123 -123
  351. package/SVF-doxygen/html/search/variables_f.js +30 -30
  352. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  353. package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
  354. package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
  355. package/package.json +1 -1
  356. package/svf/lib/MemoryModel/AccessPath.cpp +3 -12
  357. package/svf/lib/MemoryModel/PointerAnalysis.cpp +0 -3
  358. package/svf/lib/SVFIR/SVFType.cpp +1 -2
  359. package/svf/lib/SVFIR/SymbolTableInfo.cpp +1 -5
  360. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +1 -34
  361. package/svf-llvm/lib/LLVMUtil.cpp +1 -32
  362. package/svf-llvm/lib/SymbolTableBuilder.cpp +8 -8
@@ -216,72 +216,72 @@ Friends</h2></td></tr>
216
216
  <p>Analyze byte size of heap alloc function (e.g. malloc/calloc/...) </p>
217
217
  <p>Analyze byte size of heap alloc function (e.g. malloc/calloc/...) 1) <b>attribute</b>((annotate("ALLOC_RET"), annotate("AllocSize:Arg0"))) void* safe_malloc(unsigned long size). Byte Size is the size(Arg0) 2)__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg0*Arg1"))) char* safecalloc(int a, int b) Byte Size is a(Arg0) * b(Arg1) 3)__attribute__((annotate("ALLOC_RET"), annotate("UNKNOWN"))) void* __sysv_signal(int a, void *b) Byte Size is Unknown If all required arg values are constant, byte Size is also constant, otherwise return ByteSize 0 </p>
218
218
 
219
- <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00689">689</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
220
- <div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;{</div>
221
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">llvm::CallInst</a>* callInst = llvm::dyn_cast&lt;llvm::CallInst&gt;(val))</div>
222
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div>
223
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">llvm::Function</a>* calledFunction =</div>
224
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; callInst-&gt;getCalledFunction())</div>
225
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div>
226
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFunction =</div>
227
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(</div>
228
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; calledFunction);</div>
229
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; std::vector&lt;const Value*&gt; args;</div>
230
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// Heap alloc functions have annoation like &quot;AllocSize:Arg1&quot;</span></div>
231
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> annotation : svfFunction-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a067bd6dbaf74a028d546fa56b095791b">getAnnotations</a>())</div>
232
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; {</div>
233
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">if</span> (annotation.find(<span class="stringliteral">&quot;AllocSize:&quot;</span>) != std::string::npos)</div>
234
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div>
235
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> allocSize = annotation.substr(10);</div>
236
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; std::stringstream ss(allocSize);</div>
237
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> token;</div>
238
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="comment">// Analyaze annotation string and attract Arg list</span></div>
239
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">while</span> (std::getline(ss, token, <span class="charliteral">&#39;*&#39;</span>))</div>
240
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div>
241
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">if</span> (token.rfind(<span class="stringliteral">&quot;Arg&quot;</span>, 0) == 0)</div>
242
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div>
243
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> argIndex;</div>
244
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; std::istringstream(token.substr(3)) &gt;&gt; argIndex;</div>
245
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (argIndex &lt; callInst-&gt;getNumOperands() - 1)</div>
246
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div>
247
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; args.push_back(</div>
248
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; callInst-&gt;getArgOperand(argIndex));</div>
249
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; }</div>
250
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div>
251
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
252
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
253
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div>
254
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> product = 1;</div>
255
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">if</span> (args.size() &gt; 0)</div>
256
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div>
257
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// for annotations like &quot;AllocSize:Arg0*Arg1&quot;</span></div>
258
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::Value</a>* arg : args)</div>
259
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div>
260
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">llvm::ConstantInt</a>* constIntArg =</div>
261
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; llvm::dyn_cast&lt;llvm::ConstantInt&gt;(arg))</div>
262
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; {</div>
263
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="comment">// Multiply the constant Value if all Args are const</span></div>
264
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; product *= constIntArg-&gt;getZExtValue();</div>
265
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; }</div>
266
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keywordflow">else</span></div>
267
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; {</div>
268
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="comment">// if Arg list has non-const value, return 0 to indicate it is non const byte size</span></div>
269
- <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">return</span> 0;</div>
270
- <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div>
271
- <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div>
272
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="comment">// If all the Args are const, return product</span></div>
273
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">return</span> product;</div>
274
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div>
275
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">else</span></div>
276
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div>
277
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="comment">// for annotations like &quot;AllocSize:UNKNOWN&quot;</span></div>
278
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">return</span> 0;</div>
279
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; }</div>
280
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; }</div>
281
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; }</div>
282
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="comment">// if it is not CallInst or CallInst has no CalledFunction, return 0 to indicate it is non const byte size</span></div>
283
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">return</span> 0;</div>
284
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160;}</div>
219
+ <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00691">691</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
220
+ <div class="fragment"><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div>
221
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">llvm::CallInst</a>* callInst = llvm::dyn_cast&lt;llvm::CallInst&gt;(val))</div>
222
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; {</div>
223
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">llvm::Function</a>* calledFunction =</div>
224
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; callInst-&gt;getCalledFunction())</div>
225
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div>
226
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFunction =</div>
227
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(</div>
228
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; calledFunction);</div>
229
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; std::vector&lt;const Value*&gt; args;</div>
230
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="comment">// Heap alloc functions have annoation like &quot;AllocSize:Arg1&quot;</span></div>
231
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> annotation : svfFunction-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a067bd6dbaf74a028d546fa56b095791b">getAnnotations</a>())</div>
232
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div>
233
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">if</span> (annotation.find(<span class="stringliteral">&quot;AllocSize:&quot;</span>) != std::string::npos)</div>
234
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; {</div>
235
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> allocSize = annotation.substr(10);</div>
236
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; std::stringstream ss(allocSize);</div>
237
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> token;</div>
238
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="comment">// Analyaze annotation string and attract Arg list</span></div>
239
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">while</span> (std::getline(ss, token, <span class="charliteral">&#39;*&#39;</span>))</div>
240
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; {</div>
241
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span> (token.rfind(<span class="stringliteral">&quot;Arg&quot;</span>, 0) == 0)</div>
242
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div>
243
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> argIndex;</div>
244
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; std::istringstream(token.substr(3)) &gt;&gt; argIndex;</div>
245
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">if</span> (argIndex &lt; callInst-&gt;getNumOperands() - 1)</div>
246
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div>
247
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; args.push_back(</div>
248
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; callInst-&gt;getArgOperand(argIndex));</div>
249
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div>
250
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
251
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div>
252
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div>
253
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; }</div>
254
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> product = 1;</div>
255
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">if</span> (args.size() &gt; 0)</div>
256
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div>
257
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="comment">// for annotations like &quot;AllocSize:Arg0*Arg1&quot;</span></div>
258
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::Value</a>* arg : args)</div>
259
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div>
260
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">llvm::ConstantInt</a>* constIntArg =</div>
261
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; llvm::dyn_cast&lt;llvm::ConstantInt&gt;(arg))</div>
262
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; {</div>
263
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="comment">// Multiply the constant Value if all Args are const</span></div>
264
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; product *= constIntArg-&gt;getZExtValue();</div>
265
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
266
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">else</span></div>
267
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; {</div>
268
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="comment">// if Arg list has non-const value, return 0 to indicate it is non const byte size</span></div>
269
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> 0;</div>
270
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div>
271
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div>
272
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">// If all the Args are const, return product</span></div>
273
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">return</span> product;</div>
274
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; }</div>
275
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">else</span></div>
276
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; {</div>
277
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="comment">// for annotations like &quot;AllocSize:UNKNOWN&quot;</span></div>
278
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">return</span> 0;</div>
279
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; }</div>
280
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div>
281
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div>
282
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <span class="comment">// if it is not CallInst or CallInst has no CalledFunction, return 0 to indicate it is non const byte size</span></div>
283
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">return</span> 0;</div>
284
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;}</div>
285
285
  </div><!-- fragment -->
286
286
  </div>
287
287
  </div>
@@ -323,31 +323,30 @@ Friends</h2></td></tr>
323
323
  <p>Analyse types of heap and static objects </p>
324
324
  <p>For an C++ class, it can have variant elements depending on the vtable size, Hence we only handle non-cpp-class object, the type of the cpp class is treated as PointerType at the cast site</p>
325
325
 
326
- <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00759">759</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
327
- <div class="fragment"><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160;{</div>
328
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* castUse = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a200539f965bff5627abac41920498ee8">getFirstUseViaCastInst</a>(val))</div>
329
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; {</div>
330
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">ObjTypeInfo::HEAP_OBJ</a>);</div>
331
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* objTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ae368713463c84425f9a1ad27ff401a47">getTypeOfHeapAlloc</a>(SVFUtil::cast&lt;Instruction&gt;(val));</div>
332
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ae26937ca2107517e6ede8eb6d76b95d5">resetTypeForHeapStaticObj</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(objTy));</div>
326
+ <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00761">761</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
327
+ <div class="fragment"><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;{</div>
328
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* castUse = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a200539f965bff5627abac41920498ee8">getFirstUseViaCastInst</a>(val))</div>
329
+ <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; {</div>
330
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">ObjTypeInfo::HEAP_OBJ</a>);</div>
333
331
  <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#af5c882c10cd46c669c5aededbdb510d8">analyzeObjType</a>(typeinfo,castUse);</div>
334
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ArrayType&gt;(objTy))</div>
335
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableBuilder.html#a674b84d529c762af3a45e7d4ce4d543d">getNumOfElements</a>(objTy);</div>
336
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* st = SVFUtil::dyn_cast&lt;StructType&gt;(objTy))</div>
337
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; {</div>
338
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">getClassNameFromType</a>(st).empty())</div>
339
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableBuilder.html#a674b84d529c762af3a45e7d4ce4d543d">getNumOfElements</a>(objTy);</div>
340
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">else</span></div>
341
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ae26937ca2107517e6ede8eb6d76b95d5">resetTypeForHeapStaticObj</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(castUse-&gt;getType()));</div>
342
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; }</div>
343
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
344
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="keywordflow">else</span></div>
345
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; {</div>
346
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">ObjTypeInfo::HEAP_OBJ</a>);</div>
347
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">ObjTypeInfo::HASPTR_OBJ</a>);</div>
348
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
349
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <span class="keywordflow">return</span> typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#a81bc3d785062c7e527ecf8e564cd52a4">getMaxFieldOffsetLimit</a>();</div>
350
- <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160;}</div>
332
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* objTy = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">getLLVMType</a>(typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#aaffd94b311238f183031a525376c55a2">getType</a>());</div>
333
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ArrayType&gt;(objTy))</div>
334
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableBuilder.html#a674b84d529c762af3a45e7d4ce4d543d">getNumOfElements</a>(objTy);</div>
335
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* st = SVFUtil::dyn_cast&lt;StructType&gt;(objTy))</div>
336
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; {</div>
337
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">getClassNameFromType</a>(st).empty())</div>
338
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableBuilder.html#a674b84d529c762af3a45e7d4ce4d543d">getNumOfElements</a>(objTy);</div>
339
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; <span class="keywordflow">else</span></div>
340
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ae26937ca2107517e6ede8eb6d76b95d5">resetTypeForHeapStaticObj</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(castUse-&gt;getType()));</div>
341
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; }</div>
342
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div>
343
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">else</span></div>
344
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div>
345
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">ObjTypeInfo::HEAP_OBJ</a>);</div>
346
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">ObjTypeInfo::HASPTR_OBJ</a>);</div>
347
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; }</div>
348
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; <span class="keywordflow">return</span> typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#a81bc3d785062c7e527ecf8e564cd52a4">getMaxFieldOffsetLimit</a>();</div>
349
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;}</div>
351
350
  </div><!-- fragment -->
352
351
  </div>
353
352
  </div>
@@ -388,53 +387,53 @@ Friends</h2></td></tr>
388
387
  <p>Analyse types of all flattened fields of this object. </p>
389
388
  <p>Analyse types of all flattened fields of this object </p>
390
389
 
391
- <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00627">627</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
392
- <div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;{</div>
393
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; </div>
394
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* refty = SVFUtil::dyn_cast&lt;PointerType&gt;(val-&gt;getType());</div>
395
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; assert(refty &amp;&amp; <span class="stringliteral">&quot;this value should be a pointer type!&quot;</span>);</div>
396
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="comment">// TODO: getPtrElementType need type inference</span></div>
397
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *elemTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(refty);</div>
398
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="keywordtype">bool</span> isPtrObj = <span class="keyword">false</span>;</div>
399
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="comment">// Find the inter nested array element</span></div>
400
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* AT = SVFUtil::dyn_cast&lt;ArrayType&gt;(elemTy))</div>
401
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; {</div>
402
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; elemTy = AT-&gt;getElementType();</div>
403
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">if</span> (elemTy-&gt;isPointerTy())</div>
404
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; isPtrObj = <span class="keyword">true</span>;</div>
405
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(val) &amp;&amp;</div>
406
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;hasInitializer() &amp;&amp;</div>
407
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; SVFUtil::isa&lt;ConstantArray&gt;(</div>
408
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;getInitializer()))</div>
409
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">ObjTypeInfo::CONST_ARRAY_OBJ</a>);</div>
410
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">else</span></div>
411
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">ObjTypeInfo::VAR_ARRAY_OBJ</a>);</div>
412
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; }</div>
413
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* ST = SVFUtil::dyn_cast&lt;StructType&gt;(elemTy))</div>
414
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; {</div>
415
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keyword">const</span> std::vector&lt;const SVFType*&gt;&amp; flattenFields =</div>
416
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#af7aae2e2851c948f85600066a5a394ca">getOrAddSVFTypeInfo</a>(ST)-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>();</div>
417
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; isPtrObj |= std::any_of(flattenFields.begin(), flattenFields.end(),</div>
418
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; [](<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty)</div>
419
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; {</div>
420
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; return ty-&gt;isPointerTy();</div>
421
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; });</div>
422
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(val) &amp;&amp;</div>
423
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;hasInitializer() &amp;&amp;</div>
424
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; SVFUtil::isa&lt;ConstantStruct&gt;(</div>
425
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;getInitializer()))</div>
426
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">ObjTypeInfo::CONST_STRUCT_OBJ</a>);</div>
427
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">else</span></div>
428
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">ObjTypeInfo::VAR_STRUCT_OBJ</a>);</div>
429
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; }</div>
430
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (elemTy-&gt;isPointerTy())</div>
431
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div>
432
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; isPtrObj = <span class="keyword">true</span>;</div>
433
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div>
434
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; </div>
435
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <span class="keywordflow">if</span>(isPtrObj)</div>
436
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">ObjTypeInfo::HASPTR_OBJ</a>);</div>
437
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;}</div>
390
+ <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00629">629</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
391
+ <div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;{</div>
392
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; </div>
393
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* refty = SVFUtil::dyn_cast&lt;PointerType&gt;(val-&gt;getType());</div>
394
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; assert(refty &amp;&amp; <span class="stringliteral">&quot;this value should be a pointer type!&quot;</span>);</div>
395
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <span class="comment">// TODO: getPtrElementType need type inference</span></div>
396
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *elemTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(refty);</div>
397
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <span class="keywordtype">bool</span> isPtrObj = <span class="keyword">false</span>;</div>
398
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="comment">// Find the inter nested array element</span></div>
399
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* AT = SVFUtil::dyn_cast&lt;ArrayType&gt;(elemTy))</div>
400
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; {</div>
401
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; elemTy = AT-&gt;getElementType();</div>
402
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">if</span> (elemTy-&gt;isPointerTy())</div>
403
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; isPtrObj = <span class="keyword">true</span>;</div>
404
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(val) &amp;&amp;</div>
405
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;hasInitializer() &amp;&amp;</div>
406
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; SVFUtil::isa&lt;ConstantArray&gt;(</div>
407
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;getInitializer()))</div>
408
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">ObjTypeInfo::CONST_ARRAY_OBJ</a>);</div>
409
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">else</span></div>
410
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">ObjTypeInfo::VAR_ARRAY_OBJ</a>);</div>
411
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div>
412
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* ST = SVFUtil::dyn_cast&lt;StructType&gt;(elemTy))</div>
413
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
414
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keyword">const</span> std::vector&lt;const SVFType*&gt;&amp; flattenFields =</div>
415
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#af7aae2e2851c948f85600066a5a394ca">getOrAddSVFTypeInfo</a>(ST)-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>();</div>
416
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; isPtrObj |= std::any_of(flattenFields.begin(), flattenFields.end(),</div>
417
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; [](<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty)</div>
418
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div>
419
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; return ty-&gt;isPointerTy();</div>
420
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; });</div>
421
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;GlobalVariable&gt;(val) &amp;&amp;</div>
422
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;hasInitializer() &amp;&amp;</div>
423
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; SVFUtil::isa&lt;ConstantStruct&gt;(</div>
424
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; SVFUtil::cast&lt;GlobalVariable&gt;(val)-&gt;getInitializer()))</div>
425
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a6443b9fadd2d34e00832b2215a120ebd">ObjTypeInfo::CONST_STRUCT_OBJ</a>);</div>
426
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">else</span></div>
427
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">ObjTypeInfo::VAR_STRUCT_OBJ</a>);</div>
428
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div>
429
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (elemTy-&gt;isPointerTy())</div>
430
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div>
431
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; isPtrObj = <span class="keyword">true</span>;</div>
432
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div>
433
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; </div>
434
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; <span class="keywordflow">if</span>(isPtrObj)</div>
435
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">ObjTypeInfo::HASPTR_OBJ</a>);</div>
436
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;}</div>
438
437
  </div><!-- fragment -->
439
438
  </div>
440
439
  </div>
@@ -475,12 +474,11 @@ Friends</h2></td></tr>
475
474
  <p>Analyse types of heap and static objects. </p>
476
475
  <p>Analyse types of heap and static objects </p>
477
476
 
478
- <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00790">790</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
479
- <div class="fragment"><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;{</div>
480
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* castUse = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a200539f965bff5627abac41920498ee8">getFirstUseViaCastInst</a>(val))</div>
481
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div>
482
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">ObjTypeInfo::STATIC_OBJ</a>);</div>
483
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ae26937ca2107517e6ede8eb6d76b95d5">resetTypeForHeapStaticObj</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(castUse-&gt;getType()));</div>
477
+ <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00791">791</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
478
+ <div class="fragment"><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160;{</div>
479
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* castUse = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a200539f965bff5627abac41920498ee8">getFirstUseViaCastInst</a>(val))</div>
480
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; {</div>
481
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; typeinfo-&gt;<a class="code" href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">setFlag</a>(<a class="code" href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a4e7606afe2dabdef9c9836ae798a9d98">ObjTypeInfo::STATIC_OBJ</a>);</div>
484
482
  <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#af5c882c10cd46c669c5aededbdb510d8">analyzeObjType</a>(typeinfo,castUse);</div>
485
483
  <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; }</div>
486
484
  <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <span class="keywordflow">else</span></div>
@@ -1076,7 +1074,7 @@ Friends</h2></td></tr>
1076
1074
 
1077
1075
  <p class="definition">Definition at line <a class="el" href="SymbolTableBuilder_8cpp_source.html#l00577">577</a> of file <a class="el" href="SymbolTableBuilder_8cpp_source.html">SymbolTableBuilder.cpp</a>.</p>
1078
1076
  <div class="fragment"><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;{</div>
1079
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* refTy = <span class="keyword">nullptr</span>;</div>
1077
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* objTy = <span class="keyword">nullptr</span>;</div>
1080
1078
  <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; </div>
1081
1079
  <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* I = SVFUtil::dyn_cast&lt;Instruction&gt;(val);</div>
1082
1080
  <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; </div>
@@ -1084,41 +1082,43 @@ Friends</h2></td></tr>
1084
1082
  <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="comment">// (1) A heap/static object from a callsite</span></div>
1085
1083
  <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">if</span> (I &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">isNonInstricCallSite</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFInstruction(I)))</div>
1086
1084
  <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; {</div>
1087
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; refTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a6c5f2f951463494af2e7b0d3267f2772">getRefTypeOfHeapAllocOrStatic</a>(I);</div>
1085
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; objTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a9a7e07cbd487e829059f52a0fb62693f">inferTypeOfHeapObjOrStaticObj</a>(I);</div>
1088
1086
  <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; }</div>
1089
1087
  <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">// (2) Other objects (e.g., alloca, global, etc.)</span></div>
1090
1088
  <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">else</span></div>
1091
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; refTy = SVFUtil::dyn_cast&lt;PointerType&gt;(val-&gt;getType());</div>
1092
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; </div>
1093
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">if</span> (refTy)</div>
1094
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; {</div>
1095
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* objTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(refTy);</div>
1096
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>* typeInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>(</div>
1097
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(objTy),</div>
1098
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
1099
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#ae938564e6a36848cb848a5badc15a1de">initTypeInfo</a>(typeInfo,val, objTy);</div>
1100
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> typeInfo;</div>
1101
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div>
1102
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">else</span></div>
1103
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; {</div>
1104
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(<span class="stringliteral">&quot;try to create an object with a non-pointer type.&quot;</span>);</div>
1105
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(val-&gt;getName().str());</div>
1106
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(<span class="stringliteral">&quot;(&quot;</span> + <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFValue(val)-&gt;<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a8e4add30bd0ce00d3f2aa2e31c64fef8">getSourceLoc</a>() + <span class="stringliteral">&quot;)&quot;</span>);</div>
1107
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">isConstantObjSym</a>(val))</div>
1108
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div>
1109
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>* typeInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>(</div>
1110
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(val-&gt;getType()),</div>
1111
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; 0);</div>
1112
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#ae938564e6a36848cb848a5badc15a1de">initTypeInfo</a>(typeInfo,val, val-&gt;getType());</div>
1113
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">return</span> typeInfo;</div>
1114
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div>
1115
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">else</span></div>
1116
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; {</div>
1117
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Memory object must be either (1) held by a pointer-typed ref value or (2) a constant value (e.g., 10).&quot;</span>);</div>
1118
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; abort();</div>
1119
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; }</div>
1120
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; }</div>
1121
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;}</div>
1089
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; {</div>
1090
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* refTy = SVFUtil::dyn_cast&lt;PointerType&gt;(val-&gt;getType()))</div>
1091
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; objTy = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(refTy);</div>
1092
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div>
1093
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; </div>
1094
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">if</span> (objTy)</div>
1095
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; {</div>
1096
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>* typeInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>(</div>
1097
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(objTy),</div>
1098
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
1099
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#ae938564e6a36848cb848a5badc15a1de">initTypeInfo</a>(typeInfo,val, objTy);</div>
1100
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> typeInfo;</div>
1101
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; }</div>
1102
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">else</span></div>
1103
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; {</div>
1104
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(<span class="stringliteral">&quot;try to create an object with a non-pointer type.&quot;</span>);</div>
1105
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(val-&gt;getName().str());</div>
1106
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(<span class="stringliteral">&quot;(&quot;</span> + <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFValue(val)-&gt;<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a8e4add30bd0ce00d3f2aa2e31c64fef8">getSourceLoc</a>() + <span class="stringliteral">&quot;)&quot;</span>);</div>
1107
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">isConstantObjSym</a>(val))</div>
1108
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; {</div>
1109
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>* typeInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ObjTypeInfo.html">ObjTypeInfo</a>(</div>
1110
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;getSVFType(val-&gt;getType()),</div>
1111
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; 0);</div>
1112
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="classSVF_1_1SymbolTableBuilder.html#ae938564e6a36848cb848a5badc15a1de">initTypeInfo</a>(typeInfo,val, val-&gt;getType());</div>
1113
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> typeInfo;</div>
1114
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</div>
1115
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">else</span></div>
1116
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; {</div>
1117
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Memory object must be either (1) held by a pointer-typed ref value or (2) a constant value (e.g., 10).&quot;</span>);</div>
1118
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; abort();</div>
1119
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div>
1120
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div>
1121
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;}</div>
1122
1122
  </div><!-- fragment -->
1123
1123
  </div>
1124
1124
  </div>
@@ -1678,8 +1678,8 @@ Friends</h2></td></tr>
1678
1678
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a95b8031f1e15d49c7d68628be1d05aae"><div class="ttname"><a href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">SVF::SVFType::getByteSize</a></div><div class="ttdeci">u32_t getByteSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00323">SVFType.h:323</a></div></div>
1679
1679
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00101">LLVMModule.h:101</a></div></div>
1680
1680
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4af4db2fe43846609d2ed1d7022b1be1"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00188">SVFUtil.h:188</a></div></div>
1681
- <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_afe2806a0aef240ab313975decfe362f7"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#afe2806a0aef240ab313975decfe362f7">SVF::SymbolTableBuilder::analyzeStaticObjType</a></div><div class="ttdeci">void analyzeStaticObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of heap and static objects.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00790">SymbolTableBuilder.cpp:790</a></div></div>
1682
- <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a9f4cf6914b400b9f69c7852f13c496a9"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a9f4cf6914b400b9f69c7852f13c496a9">SVF::SymbolTableInfo::dump</a></div><div class="ttdeci">virtual void dump()</div><div class="ttdoc">Another debug method.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00330">SymbolTableInfo.cpp:330</a></div></div>
1681
+ <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_afe2806a0aef240ab313975decfe362f7"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#afe2806a0aef240ab313975decfe362f7">SVF::SymbolTableBuilder::analyzeStaticObjType</a></div><div class="ttdeci">void analyzeStaticObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of heap and static objects.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00791">SymbolTableBuilder.cpp:791</a></div></div>
1682
+ <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a9f4cf6914b400b9f69c7852f13c496a9"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a9f4cf6914b400b9f69c7852f13c496a9">SVF::SymbolTableInfo::dump</a></div><div class="ttdeci">virtual void dump()</div><div class="ttdoc">Another debug method.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00326">SymbolTableInfo.cpp:326</a></div></div>
1683
1683
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_aeab14702eabde827923a692cba8f7f8a"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aeab14702eabde827923a692cba8f7f8a">SVF::SymbolTableInfo::objMap</a></div><div class="ttdeci">IDToMemMapTy objMap</div><div class="ttdoc">map a memory sym id to its obj</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00086">SymbolTableInfo.h:86</a></div></div>
1684
1684
  <div class="ttc" id="anamespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00146">BasicTypes.h:146</a></div></div>
1685
1685
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_afd2cf6ef6d7f2a583c709a72067be89ba1e6cc9ef0abd047b183382f2681cd4c1"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afd2cf6ef6d7f2a583c709a72067be89ba1e6cc9ef0abd047b183382f2681cd4c1">SVF::SymbolTableInfo::NullPtr</a></div><div class="ttdeci">@ NullPtr</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00058">SymbolTableInfo.h:58</a></div></div>
@@ -1687,9 +1687,9 @@ Friends</h2></td></tr>
1687
1687
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aca11801ed6ef6ff8d2a1e85bc0fc5794"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aca11801ed6ef6ff8d2a1e85bc0fc5794">SVF::LLVMUtil::isObject</a></div><div class="ttdeci">bool isObject(const Value *ref)</div><div class="ttdoc">Return true if this value refers to a object.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00054">LLVMUtil.cpp:54</a></div></div>
1688
1688
  <div class="ttc" id="anamespaceSVF_html_a292a6e8c5b4f2023b5575879c57eca62"><div class="ttname"><a href="namespaceSVF.html#a292a6e8c5b4f2023b5575879c57eca62">SVF::UnaryOperator</a></div><div class="ttdeci">llvm::UnaryOperator UnaryOperator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00178">BasicTypes.h:178</a></div></div>
1689
1689
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a3ddf7041e685da8ede81cd773dd47761"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a3ddf7041e685da8ede81cd773dd47761">SVF::SVFUtil::cast</a></div><div class="ttdeci">std::enable_if_t&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt; cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00360">Casting.h:360</a></div></div>
1690
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a35b36394af726c679fe2c1b6051db7c4"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a35b36394af726c679fe2c1b6051db7c4">SVF::LLVMUtil::isBinaryConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isBinaryConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00314">LLVMUtil.h:314</a></div></div>
1690
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a35b36394af726c679fe2c1b6051db7c4"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a35b36394af726c679fe2c1b6051db7c4">SVF::LLVMUtil::isBinaryConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isBinaryConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00282">LLVMUtil.h:282</a></div></div>
1691
1691
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_ae26937ca2107517e6ede8eb6d76b95d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ae26937ca2107517e6ede8eb6d76b95d5">SVF::ObjTypeInfo::resetTypeForHeapStaticObj</a></div><div class="ttdeci">void resetTypeForHeapStaticObj(const SVFType *type)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00050">SymbolTableInfo.cpp:50</a></div></div>
1692
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_adad59a953dd81e213db71babbbc9df2f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#adad59a953dd81e213db71babbbc9df2f">SVF::LLVMUtil::ArgInProgEntryFunction</a></div><div class="ttdeci">bool ArgInProgEntryFunction(const Value *val)</div><div class="ttdoc">Return true if this is an argument of a program entry function (e.g. main)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00185">LLVMUtil.h:185</a></div></div>
1692
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_adad59a953dd81e213db71babbbc9df2f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#adad59a953dd81e213db71babbbc9df2f">SVF::LLVMUtil::ArgInProgEntryFunction</a></div><div class="ttdeci">bool ArgInProgEntryFunction(const Value *val)</div><div class="ttdoc">Return true if this is an argument of a program entry function (e.g. main)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00156">LLVMUtil.h:156</a></div></div>
1693
1693
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a5e5bc3a1838476fbd80c52720c9d103e">SVF::ObjTypeInfo::CONST_DATA</a></div><div class="ttdeci">@ CONST_DATA</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00499">SymbolTableInfo.h:499</a></div></div>
1694
1694
  <div class="ttc" id="anamespaceSVF_html_aad5d26ab07a5d1314bdb8f54e0fcdb22"><div class="ttname"><a href="namespaceSVF.html#aad5d26ab07a5d1314bdb8f54e0fcdb22">SVF::BinaryOperator</a></div><div class="ttdeci">llvm::BinaryOperator BinaryOperator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00177">BasicTypes.h:177</a></div></div>
1695
1695
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a704b917b1e1dbaf9cd758fa9acc1083b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SVF::SymbolTableInfo::isConstantObj</a></div><div class="ttdeci">static bool isConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00165">SymbolTableInfo.h:165</a></div></div>
@@ -1697,6 +1697,7 @@ Friends</h2></td></tr>
1697
1697
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a1efd9406182eb86b1ee4829c931b566d"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a1efd9406182eb86b1ee4829c931b566d">SVF::SymbolTableBuilder::handleGlobalInitializerCE</a></div><div class="ttdeci">void handleGlobalInitializerCE(const Constant *C)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00519">SymbolTableBuilder.cpp:519</a></div></div>
1698
1698
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a200539f965bff5627abac41920498ee8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a200539f965bff5627abac41920498ee8">SVF::LLVMUtil::getFirstUseViaCastInst</a></div><div class="ttdeci">const Value * getFirstUseViaCastInst(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00414">LLVMUtil.cpp:414</a></div></div>
1699
1699
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a0d7588578735679773493ff2d5e458e1"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0d7588578735679773493ff2d5e458e1">SVF::SVFUtil::increaseStackSize</a></div><div class="ttdeci">void increaseStackSize()</div><div class="ttdoc">Increase the stack size limit.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00227">SVFUtil.cpp:227</a></div></div>
1700
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9a7e07cbd487e829059f52a0fb62693f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9a7e07cbd487e829059f52a0fb62693f">SVF::LLVMUtil::inferTypeOfHeapObjOrStaticObj</a></div><div class="ttdeci">const Type * inferTypeOfHeapObjOrStaticObj(const Instruction *inst)</div><div class="ttdoc">Get the reference type of heap/static object from an allocation site.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00441">LLVMUtil.cpp:441</a></div></div>
1700
1701
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a518c82138fcadc6634980566c1c0f762"><div class="ttname"><a href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">SVF::StInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements() const</div><div class="ttdoc">Return number of elements after flattening (including array elements)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00225">SVFType.h:225</a></div></div>
1701
1702
  <div class="ttc" id="anamespaceSVF_html_a412280b134578905248ce0122c5db7c9"><div class="ttname"><a href="namespaceSVF.html#a412280b134578905248ce0122c5db7c9">SVF::SwitchInst</a></div><div class="ttdeci">llvm::SwitchInst SwitchInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00153">BasicTypes.h:153</a></div></div>
1702
1703
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a5f0bd932f3129a9c565f3a09711f7b99"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">SVF::LLVMModuleSet::getSVFType</a></div><div class="ttdeci">SVFType * getSVFType(const Type *T)</div><div class="ttdoc">Get or create SVFType and typeinfo.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01275">LLVMModule.cpp:1275</a></div></div>
@@ -1722,7 +1723,7 @@ Friends</h2></td></tr>
1722
1723
  <div class="ttc" id="anamespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
1723
1724
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_afd2cf6ef6d7f2a583c709a72067be89ba9a9d3f03f58ccd4fdaaf08327a74aa03"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afd2cf6ef6d7f2a583c709a72067be89ba9a9d3f03f58ccd4fdaaf08327a74aa03">SVF::SymbolTableInfo::BlkPtr</a></div><div class="ttdeci">@ BlkPtr</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00059">SymbolTableInfo.h:59</a></div></div>
1724
1725
  <div class="ttc" id="anamespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00147">BasicTypes.h:147</a></div></div>
1725
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af983b0e1fbd371d8672e8f03f63084fc"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af983b0e1fbd371d8672e8f03f63084fc">SVF::LLVMUtil::isCastConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCastConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00269">LLVMUtil.h:269</a></div></div>
1726
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af983b0e1fbd371d8672e8f03f63084fc"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af983b0e1fbd371d8672e8f03f63084fc">SVF::LLVMUtil::isCastConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCastConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00237">LLVMUtil.h:237</a></div></div>
1726
1727
  <div class="ttc" id="anamespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
1727
1728
  <div class="ttc" id="anamespaceSVF_html_a0fd33072b099f61eaa642e94ed0c03fc"><div class="ttname"><a href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">SVF::GlobalAlias</a></div><div class="ttdeci">llvm::GlobalAlias GlobalAlias</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00126">BasicTypes.h:126</a></div></div>
1728
1729
  <div class="ttc" id="anamespaceSVF_html_ac7dcc6103dee3a0bbc2fd2e02716a154"><div class="ttname"><a href="namespaceSVF.html#ac7dcc6103dee3a0bbc2fd2e02716a154">SVF::ReturnInst</a></div><div class="ttdeci">llvm::ReturnInst ReturnInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00155">BasicTypes.h:155</a></div></div>
@@ -1744,36 +1745,37 @@ Friends</h2></td></tr>
1744
1745
  <div class="ttc" id="anamespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00085">BasicTypes.h:85</a></div></div>
1745
1746
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_ac2fa9a797e3e2a8885ccc488030659d5"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#ac2fa9a797e3e2a8885ccc488030659d5">SVF::SymbolTableBuilder::collectSym</a></div><div class="ttdeci">void collectSym(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00260">SymbolTableBuilder.cpp:260</a></div></div>
1746
1747
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a85994a1cdb68036dde589aab0d7b3e82"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a85994a1cdb68036dde589aab0d7b3e82">SVF::SymbolTableBuilder::createConstantObj</a></div><div class="ttdeci">MemObj * createConstantObj(SymID symId)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00058">SymbolTableBuilder.cpp:58</a></div></div>
1747
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a946a2b51b848c45c6c52f03581ee05b8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a946a2b51b848c45c6c52f03581ee05b8">SVF::LLVMUtil::isTruncConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isTruncConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00289">LLVMUtil.h:289</a></div></div>
1748
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8a77403306e97ab4cb31a56d38bba5be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be">SVF::LLVMUtil::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00420">LLVMUtil.h:420</a></div></div>
1748
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a946a2b51b848c45c6c52f03581ee05b8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a946a2b51b848c45c6c52f03581ee05b8">SVF::LLVMUtil::isTruncConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isTruncConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00257">LLVMUtil.h:257</a></div></div>
1749
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8a77403306e97ab4cb31a56d38bba5be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be">SVF::LLVMUtil::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00388">LLVMUtil.h:388</a></div></div>
1749
1750
  <div class="ttc" id="anamespaceSVF_html_a2bf58575ac7d068e0f1a4cf953b9e6cb"><div class="ttname"><a href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">SVF::StructType</a></div><div class="ttdeci">llvm::StructType StructType</div><div class="ttdoc">LLVM types.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00092">BasicTypes.h:92</a></div></div>
1750
1751
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
1751
1752
  <div class="ttc" id="aclassSVF_1_1NodeIDAllocator_html_a92b053f79cfa1259603836cb0aacad7d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a92b053f79cfa1259603836cb0aacad7d">SVF::NodeIDAllocator::endSymbolAllocation</a></div><div class="ttdeci">NodeID endSymbolAllocation(void)</div><div class="ttdoc">Notify the allocator that all symbols have had IDs allocated.</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00163">NodeIDAllocator.cpp:163</a></div></div>
1752
1753
  <div class="ttc" id="anamespaceSVF_html_a3bacb4f95c73e6d794901d01c6b65a83"><div class="ttname"><a href="namespaceSVF.html#a3bacb4f95c73e6d794901d01c6b65a83">SVF::AllocaInst</a></div><div class="ttdeci">llvm::AllocaInst AllocaInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00148">BasicTypes.h:148</a></div></div>
1753
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ae59b0dc7f29dbd2018e819f77465f66e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ae59b0dc7f29dbd2018e819f77465f66e">SVF::LLVMUtil::isSelectConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isSelectConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00279">LLVMUtil.h:279</a></div></div>
1754
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ae59b0dc7f29dbd2018e819f77465f66e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ae59b0dc7f29dbd2018e819f77465f66e">SVF::LLVMUtil::isSelectConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isSelectConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00247">LLVMUtil.h:247</a></div></div>
1754
1755
  <div class="ttc" id="anamespaceSVF_html_a5d875a9d726bb9f68a17efa528dec0b4"><div class="ttname"><a href="namespaceSVF.html#a5d875a9d726bb9f68a17efa528dec0b4">SVF::CmpInst</a></div><div class="ttdeci">llvm::CmpInst CmpInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
1755
1756
  <div class="ttc" id="anamespaceSVF_html_ab7fac9d4a4839be445c89777e21bc307"><div class="ttname"><a href="namespaceSVF.html#ab7fac9d4a4839be445c89777e21bc307">SVF::SelectInst</a></div><div class="ttdeci">llvm::SelectInst SelectInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00172">BasicTypes.h:172</a></div></div>
1756
1757
  <div class="ttc" id="aclassSVF_1_1NodeIDAllocator_html_a6ce6b40b8291c6378dda07d943d66e53"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a6ce6b40b8291c6378dda07d943d66e53">SVF::NodeIDAllocator::allocateObjectId</a></div><div class="ttdeci">NodeID allocateObjectId(void)</div><div class="ttdoc">Allocate an object ID as determined by the strategy.</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00050">NodeIDAllocator.cpp:50</a></div></div>
1757
1758
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a692b4b0df23bad19ea04d18b01bf445c">SVF::ObjTypeInfo::HEAP_OBJ</a></div><div class="ttdeci">@ HEAP_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00493">SymbolTableInfo.h:493</a></div></div>
1758
1759
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aad918042d1f04a5e3960817d55ccb5d5">SVF::ObjTypeInfo::STACK_OBJ</a></div><div class="ttdeci">@ STACK_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00492">SymbolTableInfo.h:492</a></div></div>
1759
1760
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_add1f3d59a4a8234fb398ed52d4b2115e"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#add1f3d59a4a8234fb398ed52d4b2115e">SVF::SymbolTableBuilder::collectVararg</a></div><div class="ttdeci">void collectVararg(const Function *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00371">SymbolTableBuilder.cpp:371</a></div></div>
1760
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_adfa4a4e6d13004d14137d9168bd32463"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#adfa4a4e6d13004d14137d9168bd32463">SVF::LLVMUtil::isInt2PtrConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isInt2PtrConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00249">LLVMUtil.h:249</a></div></div>
1761
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_adfa4a4e6d13004d14137d9168bd32463"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#adfa4a4e6d13004d14137d9168bd32463">SVF::LLVMUtil::isInt2PtrConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isInt2PtrConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00217">LLVMUtil.h:217</a></div></div>
1761
1762
  <div class="ttc" id="anamespaceSVF_html_a962e9a9044a46fc4bd2367384f6e0827"><div class="ttname"><a href="namespaceSVF.html#a962e9a9044a46fc4bd2367384f6e0827">SVF::CastInst</a></div><div class="ttdeci">llvm::CastInst CastInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00156">BasicTypes.h:156</a></div></div>
1762
1763
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_ad6fb2bfae3d4b73a6821a87106f65f49"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#ad6fb2bfae3d4b73a6821a87106f65f49">SVF::ObjTypeInfo::setFlag</a></div><div class="ttdeci">void setFlag(MEMTYPE mask)</div><div class="ttdoc">Flag for this object type.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00581">SymbolTableInfo.h:581</a></div></div>
1763
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2834d135a2385efff783e6e22d2eff1f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2834d135a2385efff783e6e22d2eff1f">SVF::LLVMUtil::isPtr2IntConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isPtr2IntConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00259">LLVMUtil.h:259</a></div></div>
1764
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9e0c786488dfdc4605d4cbcf9943c85a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00427">LLVMUtil.h:427</a></div></div>
1764
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2834d135a2385efff783e6e22d2eff1f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2834d135a2385efff783e6e22d2eff1f">SVF::LLVMUtil::isPtr2IntConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isPtr2IntConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00227">LLVMUtil.h:227</a></div></div>
1765
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9e0c786488dfdc4605d4cbcf9943c85a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00395">LLVMUtil.h:395</a></div></div>
1765
1766
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a0095d23a9c9d5d62ec4a23c56824b5f0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a0095d23a9c9d5d62ec4a23c56824b5f0">SVF::LLVMUtil::getLLVMCallSite</a></div><div class="ttdeci">const CallBase * getLLVMCallSite(const Value *value)</div><div class="ttdoc">Return LLVM callsite given a value.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00068">LLVMUtil.h:68</a></div></div>
1766
1767
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a05850c17c2dbe42e5602dc8c9a70f3bd"><div class="ttname"><a href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">SVF::SVFType::getTypeInfo</a></div><div class="ttdeci">StInfo * getTypeInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00309">SVFType.h:309</a></div></div>
1767
1768
  <div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
1768
1769
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a2f5321b9a76ea833650f1391ecd8de5f"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a2f5321b9a76ea833650f1391ecd8de5f">SVF::SymbolTableBuilder::collectRet</a></div><div class="ttdeci">void collectRet(const Function *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00354">SymbolTableBuilder.cpp:354</a></div></div>
1769
- <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a86e051b7423b9e6cc3c96ccddb0ad345"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a86e051b7423b9e6cc3c96ccddb0ad345">SVF::SymbolTableBuilder::analyzeHeapObjType</a></div><div class="ttdeci">u32_t analyzeHeapObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of heap and static objects.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00759">SymbolTableBuilder.cpp:759</a></div></div>
1770
+ <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a86e051b7423b9e6cc3c96ccddb0ad345"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a86e051b7423b9e6cc3c96ccddb0ad345">SVF::SymbolTableBuilder::analyzeHeapObjType</a></div><div class="ttdeci">u32_t analyzeHeapObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of heap and static objects.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00761">SymbolTableBuilder.cpp:761</a></div></div>
1770
1771
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aff4142c0c411dea07b484a19af514047">SVF::ObjTypeInfo::CONST_ARRAY_OBJ</a></div><div class="ttdeci">@ CONST_ARRAY_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00497">SymbolTableInfo.h:497</a></div></div>
1771
1772
  <div class="ttc" id="aclassSVF_1_1Options_html_a429c3000ee2ac45119b8c241aa06762c"><div class="ttname"><a href="classSVF_1_1Options.html#a429c3000ee2ac45119b8c241aa06762c">SVF::Options::ModelArrays</a></div><div class="ttdeci">static const Option&lt; bool &gt; ModelArrays</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00219">Options.h:219</a></div></div>
1772
1773
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5840b742ed8c73ece548b9b4aede07ec"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5840b742ed8c73ece548b9b4aede07ec">SVF::SymbolTableInfo::objSymMap</a></div><div class="ttdeci">ValueToIDMapTy objSymMap</div><div class="ttdoc">map a obj reference to its sym id</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00083">SymbolTableInfo.h:83</a></div></div>
1773
- <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_af5c882c10cd46c669c5aededbdb510d8"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#af5c882c10cd46c669c5aededbdb510d8">SVF::SymbolTableBuilder::analyzeObjType</a></div><div class="ttdeci">void analyzeObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of all flattened fields of this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00627">SymbolTableBuilder.cpp:627</a></div></div>
1774
+ <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_af5c882c10cd46c669c5aededbdb510d8"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#af5c882c10cd46c669c5aededbdb510d8">SVF::SymbolTableBuilder::analyzeObjType</a></div><div class="ttdeci">void analyzeObjType(ObjTypeInfo *typeinfo, const Value *val)</div><div class="ttdoc">Analyse types of all flattened fields of this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00629">SymbolTableBuilder.cpp:629</a></div></div>
1774
1775
  <div class="ttc" id="anamespaceSVF_html_ac4e93e1fec646ff222940a663843921b"><div class="ttname"><a href="namespaceSVF.html#ac4e93e1fec646ff222940a663843921b">SVF::GetElementPtrInst</a></div><div class="ttdeci">llvm::GetElementPtrInst GetElementPtrInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00160">BasicTypes.h:160</a></div></div>
1775
1776
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830af5f94b2a41dab25fa08c94a989fb9515">SVF::ObjTypeInfo::FUNCTION_OBJ</a></div><div class="ttdeci">@ FUNCTION_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00489">SymbolTableInfo.h:489</a></div></div>
1776
1777
  <div class="ttc" id="anamespaceSVF_html_a8ad3aa124fabddc2fdd07c50403d70a9"><div class="ttname"><a href="namespaceSVF.html#a8ad3aa124fabddc2fdd07c50403d70a9">SVF::ConstantDataSequential</a></div><div class="ttdeci">llvm::ConstantDataSequential ConstantDataSequential</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00117">BasicTypes.h:117</a></div></div>
1778
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a610a7777a48132caadec167c8109f044"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">SVF::LLVMModuleSet::getLLVMType</a></div><div class="ttdeci">const Type * getLLVMType(const SVFType *T) const</div><div class="ttdoc">Get LLVM Type.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01261">LLVMModule.cpp:1261</a></div></div>
1777
1779
  <div class="ttc" id="aclassSVF_1_1NodeIDAllocator_html_a26b5e09e10448694435f74a8b622a7e8"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a26b5e09e10448694435f74a8b622a7e8">SVF::NodeIDAllocator::allocateValueId</a></div><div class="ttdeci">NodeID allocateValueId(void)</div><div class="ttdoc">Allocate a value ID as determined by the strategy.</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00128">NodeIDAllocator.cpp:128</a></div></div>
1778
1780
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a31190ba1934f945abe8a1b4fcbb636b3"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a31190ba1934f945abe8a1b4fcbb636b3">SVF::SymbolTableBuilder::createObjTypeInfo</a></div><div class="ttdeci">ObjTypeInfo * createObjTypeInfo(const Value *val)</div><div class="ttdoc">Create an objectInfo based on LLVM value.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00577">SymbolTableBuilder.cpp:577</a></div></div>
1779
1781
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a5db9e476132b0a653c7995b61def4065"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a5db9e476132b0a653c7995b61def4065">SVF::SymbolTableBuilder::createBlkObj</a></div><div class="ttdeci">MemObj * createBlkObj(SymID symId)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00046">SymbolTableBuilder.cpp:46</a></div></div>
@@ -1784,7 +1786,7 @@ Friends</h2></td></tr>
1784
1786
  <div class="ttc" id="aclassSVF_1_1StInfo_html_ac0a9f85f90524abfd519d3cd2ac95a56"><div class="ttname"><a href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">SVF::StInfo::getFlattenFieldTypes</a></div><div class="ttdeci">std::vector&lt; const SVFType * &gt; &amp; getFlattenFieldTypes()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00192">SVFType.h:192</a></div></div>
1785
1787
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a72732ec0392d9d5b900fc12177890779"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a72732ec0392d9d5b900fc12177890779">SVF::SymbolTableBuilder::handleGlobalCE</a></div><div class="ttdeci">void handleGlobalCE(const GlobalVariable *G)</div><div class="ttdoc">Handle constant expression.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00480">SymbolTableBuilder.cpp:480</a></div></div>
1786
1788
  <div class="ttc" id="anamespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00145">BasicTypes.h:145</a></div></div>
1787
- <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a889af96532c273bb91f59abf6433b04c"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a889af96532c273bb91f59abf6433b04c">SVF::SymbolTableBuilder::analyzeHeapAllocByteSize</a></div><div class="ttdeci">u32_t analyzeHeapAllocByteSize(const Value *val)</div><div class="ttdoc">Analyze byte size of heap alloc function (e.g. malloc/calloc/...)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00689">SymbolTableBuilder.cpp:689</a></div></div>
1789
+ <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a889af96532c273bb91f59abf6433b04c"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a889af96532c273bb91f59abf6433b04c">SVF::SymbolTableBuilder::analyzeHeapAllocByteSize</a></div><div class="ttdeci">u32_t analyzeHeapAllocByteSize(const Value *val)</div><div class="ttdoc">Analyze byte size of heap alloc function (e.g. malloc/calloc/...)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00691">SymbolTableBuilder.cpp:691</a></div></div>
1788
1790
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830a84c1bc6eaff950330a102afca1efc04c">SVF::ObjTypeInfo::CONST_GLOBAL_OBJ</a></div><div class="ttdeci">@ CONST_GLOBAL_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00498">SymbolTableInfo.h:498</a></div></div>
1789
1791
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_a42c69bc9ee71cc0ff322c1701b7e07bd"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#a42c69bc9ee71cc0ff322c1701b7e07bd">SVF::SymbolTableBuilder::collectSVFTypeInfo</a></div><div class="ttdeci">void collectSVFTypeInfo(const Value *val)</div><div class="ttdoc">collect the syms</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00235">SymbolTableBuilder.cpp:235</a></div></div>
1790
1792
  <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>
@@ -1796,18 +1798,16 @@ Friends</h2></td></tr>
1796
1798
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html">SVF::LLVMModuleSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00044">LLVMModule.h:44</a></div></div>
1797
1799
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad17b2a35fb492561c4011dbe3880c6c9">SVF::ObjTypeInfo::HASPTR_OBJ</a></div><div class="ttdeci">@ HASPTR_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00500">SymbolTableInfo.h:500</a></div></div>
1798
1800
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_aff17d13e520a731accedd06350af6221"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#aff17d13e520a731accedd06350af6221">SVF::ObjTypeInfo::setNumOfElements</a></div><div class="ttdeci">void setNumOfElements(u32_t num)</div><div class="ttdoc">Set the number of elements of this object.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00548">SymbolTableInfo.h:548</a></div></div>
1799
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a207fe02ded216fd0412fc894e13bee6e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">SVF::LLVMUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01240">LLVMUtil.cpp:1240</a></div></div>
1800
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ae368713463c84425f9a1ad27ff401a47"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ae368713463c84425f9a1ad27ff401a47">SVF::LLVMUtil::getTypeOfHeapAlloc</a></div><div class="ttdeci">const Type * getTypeOfHeapAlloc(const Instruction *inst)</div><div class="ttdoc">Get the type of the heap allocation.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00441">LLVMUtil.cpp:441</a></div></div>
1801
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a207fe02ded216fd0412fc894e13bee6e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">SVF::LLVMUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01209">LLVMUtil.cpp:1209</a></div></div>
1801
1802
  <div class="ttc" id="anamespaceSVF_html_a911dbaab38cb42deb9c195c7f687853d"><div class="ttname"><a href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">SVF::ConstantExpr</a></div><div class="ttdeci">llvm::ConstantExpr ConstantExpr</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
1802
1803
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830ad2ba0edfac1460f3fd89e7a6c4c4691b">SVF::ObjTypeInfo::GLOBVAR_OBJ</a></div><div class="ttdeci">@ GLOBVAR_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00490">SymbolTableInfo.h:490</a></div></div>
1803
1804
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a89e9c6da843e5eef25c51afd5d0937e5"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a89e9c6da843e5eef25c51afd5d0937e5">SVF::SymbolTableInfo::getModelConstants</a></div><div class="ttdeci">bool getModelConstants() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00134">SymbolTableInfo.h:134</a></div></div>
1804
1805
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00454">SVFUtil.h:454</a></div></div>
1805
1806
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01238">LLVMModule.cpp:1238</a></div></div>
1806
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a6c5f2f951463494af2e7b0d3267f2772"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a6c5f2f951463494af2e7b0d3267f2772">SVF::LLVMUtil::getRefTypeOfHeapAllocOrStatic</a></div><div class="ttdeci">const PointerType * getRefTypeOfHeapAllocOrStatic(const CallBase *cs)</div><div class="ttdoc">Get the reference type of heap/static object from an allocation site.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00135">LLVMUtil.h:135</a></div></div>
1807
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ab5fc50624b5fe83b676b14bec4b99685"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ab5fc50624b5fe83b676b14bec4b99685">SVF::LLVMUtil::isGepConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isGepConstantExpr(const Value *val)</div><div class="ttdoc">Return corresponding constant expression, otherwise return nullptr.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00239">LLVMUtil.h:239</a></div></div>
1807
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ab5fc50624b5fe83b676b14bec4b99685"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ab5fc50624b5fe83b676b14bec4b99685">SVF::LLVMUtil::isGepConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isGepConstantExpr(const Value *val)</div><div class="ttdoc">Return corresponding constant expression, otherwise return nullptr.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00207">LLVMUtil.h:207</a></div></div>
1808
1808
  <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
1809
1809
  <div class="ttc" id="aclassSVF_1_1Options_html_a18dd95e01a50aa82165c46a3801053c5"><div class="ttname"><a href="classSVF_1_1Options.html#a18dd95e01a50aa82165c46a3801053c5">SVF::Options::ModelConsts</a></div><div class="ttdeci">static const Option&lt; bool &gt; ModelConsts</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00218">Options.h:218</a></div></div>
1810
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a215cc9fd716798bbb7f96f5b64e01349"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a215cc9fd716798bbb7f96f5b64e01349">SVF::LLVMUtil::isUnaryConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isUnaryConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00325">LLVMUtil.h:325</a></div></div>
1810
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a215cc9fd716798bbb7f96f5b64e01349"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a215cc9fd716798bbb7f96f5b64e01349">SVF::LLVMUtil::isUnaryConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isUnaryConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00293">LLVMUtil.h:293</a></div></div>
1811
1811
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830adedc43e0fcaebf433120869aa9307b1c">SVF::ObjTypeInfo::VAR_ARRAY_OBJ</a></div><div class="ttdeci">@ VAR_ARRAY_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00495">SymbolTableInfo.h:495</a></div></div>
1812
1812
  <div class="ttc" id="aSVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DBUG model of each pass.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00576">SVFType.h:576</a></div></div>
1813
1813
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5054f95a7b77257ffb283044aab17b08"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5054f95a7b77257ffb283044aab17b08">SVF::SymbolTableInfo::valSymMap</a></div><div class="ttdeci">ValueToIDMapTy valSymMap</div><div class="ttdoc">map a value to its sym id</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00082">SymbolTableInfo.h:82</a></div></div>
@@ -1815,7 +1815,7 @@ Friends</h2></td></tr>
1815
1815
  <div class="ttc" id="aclassSVF_1_1ObjTypeInfo_html_a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08"><div class="ttname"><a href="classSVF_1_1ObjTypeInfo.html#a91b41b7ade5871362b77a2ef566b2830aaf98981bd15b41f543fd99d0c6222f08">SVF::ObjTypeInfo::VAR_STRUCT_OBJ</a></div><div class="ttdeci">@ VAR_STRUCT_OBJ</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00494">SymbolTableInfo.h:494</a></div></div>
1816
1816
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abf4e75ba6236136399d45c85be2328fe"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abf4e75ba6236136399d45c85be2328fe">SVF::LLVMUtil::isBlackholeSym</a></div><div class="ttdeci">bool isBlackholeSym(const Value *val)</div><div class="ttdoc">Check whether this value is a black hole.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00108">LLVMUtil.h:108</a></div></div>
1817
1817
  <div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
1818
- <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aa0b3e34188f721ff7145e47cb607c79a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aa0b3e34188f721ff7145e47cb607c79a">SVF::LLVMUtil::isCmpConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCmpConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00303">LLVMUtil.h:303</a></div></div>
1818
+ <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aa0b3e34188f721ff7145e47cb607c79a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aa0b3e34188f721ff7145e47cb607c79a">SVF::LLVMUtil::isCmpConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCmpConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00271">LLVMUtil.h:271</a></div></div>
1819
1819
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_ae6f8a4dbe09ff4756983ffdbed6d0681"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ae6f8a4dbe09ff4756983ffdbed6d0681">SVF::SymbolTableInfo::returnSymMap</a></div><div class="ttdeci">FunToIDMapTy returnSymMap</div><div class="ttdoc">return map</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00084">SymbolTableInfo.h:84</a></div></div>
1820
1820
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abba4111230f6009bbf50518ee36a9870"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil::getPtrElementType</a></div><div class="ttdeci">static Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00119">LLVMUtil.h:119</a></div></div>
1821
1821
  <div class="ttc" id="anamespaceSVF_html_a7332f8059ea95472dcc231de884a5768"><div class="ttname"><a href="namespaceSVF.html#a7332f8059ea95472dcc231de884a5768">SVF::ConstantData</a></div><div class="ttdeci">llvm::ConstantData ConstantData</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>