svf-tools 1.0.807 → 1.0.809

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 (474) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +143 -141
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +36 -35
  3. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/Andersen_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
  9. package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
  11. package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
  12. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +8 -8
  13. package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
  14. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  15. package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
  16. package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
  18. package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
  20. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/FlowDDA_8cpp_source.html +8 -8
  22. package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
  23. package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +8 -8
  25. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
  27. package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/IRGraph_8cpp_source.html +4 -4
  29. package/SVF-doxygen/html/IntervalValue_8h_source.html +3 -3
  30. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +190 -177
  32. package/SVF-doxygen/html/LLVMModule_8h_source.html +3 -3
  33. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +26 -38
  34. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
  36. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  37. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/MHP_8cpp_source.html +6 -6
  39. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
  40. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
  42. package/SVF-doxygen/html/MemRegion_8cpp_source.html +9 -9
  43. package/SVF-doxygen/html/MemRegion_8h_source.html +3 -3
  44. package/SVF-doxygen/html/MemSSA_8cpp_source.html +6 -6
  45. package/SVF-doxygen/html/MemSSA_8h_source.html +2 -2
  46. package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
  51. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +7 -7
  52. package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
  53. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +26 -26
  55. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +21 -21
  56. package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/SVFG_8cpp_source.html +3 -3
  61. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +68 -68
  62. package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +10 -10
  63. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +822 -848
  64. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +34 -33
  65. package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +36 -36
  66. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +12 -12
  67. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +15 -15
  68. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/SVFIR_8cpp_source.html +18 -18
  70. package/SVF-doxygen/html/SVFIR_8h_source.html +15 -15
  71. package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +21 -21
  73. package/SVF-doxygen/html/SVFStatements_8h_source.html +967 -965
  74. package/SVF-doxygen/html/SVFType_8cpp.html +2 -2
  75. package/SVF-doxygen/html/SVFType_8cpp_source.html +61 -70
  76. package/SVF-doxygen/html/SVFType_8h.html +23 -23
  77. package/SVF-doxygen/html/SVFType_8h_source.html +431 -425
  78. package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
  79. package/SVF-doxygen/html/SVFValue_8cpp_source.html +4 -4
  80. package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
  81. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +2 -2
  82. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
  83. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
  84. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  85. package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
  86. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +5 -5
  87. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +8 -8
  88. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +7 -7
  89. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  90. package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
  91. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/VFGNode_8h_source.html +11 -11
  93. package/SVF-doxygen/html/VFG_8cpp_source.html +19 -19
  94. package/SVF-doxygen/html/VFG_8h_source.html +14 -14
  95. package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  97. package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
  98. package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
  99. package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +16 -16
  100. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +162 -160
  101. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  102. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +2 -2
  105. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  106. package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
  107. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  108. package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  110. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  111. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +69 -69
  112. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  113. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +52 -52
  114. package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
  115. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  116. package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
  117. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
  118. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
  119. package/SVF-doxygen/html/classSVF_1_1CallPE.html +36 -36
  120. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +98 -98
  121. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  122. package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
  123. package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
  124. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +8 -8
  125. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +20 -20
  126. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  128. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  129. package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
  130. package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
  133. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  134. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  135. package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +8 -8
  136. package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +8 -8
  137. package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
  139. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
  141. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +64 -64
  142. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  143. package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
  144. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
  145. package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
  146. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  148. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
  149. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
  150. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  152. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +185 -173
  153. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +2 -2
  154. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +20 -20
  155. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
  156. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
  157. package/SVF-doxygen/html/classSVF_1_1MHP.html +6 -6
  158. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +8 -8
  159. package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
  160. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  161. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
  163. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  164. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +6 -6
  165. package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
  166. package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
  167. package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  168. package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +1 -1
  169. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  170. package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  171. package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
  172. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  173. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +47 -47
  174. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +7 -7
  175. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  176. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
  177. package/SVF-doxygen/html/classSVF_1_1RetPE.html +36 -36
  178. package/SVF-doxygen/html/classSVF_1_1SVFArrayType-members.html +38 -37
  179. package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +43 -41
  180. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
  181. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType-members.html +35 -34
  182. package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +26 -26
  183. package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
  184. package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
  185. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  186. package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
  187. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +17 -17
  188. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +57 -57
  189. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +6 -6
  190. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +908 -893
  191. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +13 -13
  192. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType-members.html +36 -35
  193. package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +37 -35
  194. package/SVF-doxygen/html/classSVF_1_1SVFOtherType-members.html +37 -36
  195. package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +48 -37
  196. package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +36 -35
  197. package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +38 -36
  198. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
  199. package/SVF-doxygen/html/classSVF_1_1SVFStructType-members.html +37 -36
  200. package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +38 -36
  201. package/SVF-doxygen/html/classSVF_1_1SVFType-members.html +31 -30
  202. package/SVF-doxygen/html/classSVF_1_1SVFType.html +103 -67
  203. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  204. package/SVF-doxygen/html/classSVF_1_1SVFVar.html +1 -1
  205. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +10 -10
  206. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  207. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +39 -39
  208. package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
  209. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  210. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +18 -18
  211. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +8 -8
  212. package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +5 -5
  213. package/SVF-doxygen/html/classSVF_1_1TCT.html +3 -3
  214. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +23 -23
  215. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +22 -22
  216. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
  217. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +45 -45
  218. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  219. package/SVF-doxygen/html/classSVF_1_1VFG.html +19 -19
  220. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  221. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  222. package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  223. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
  224. package/SVF-doxygen/html/functions_b.html +10 -9
  225. package/SVF-doxygen/html/functions_func_g.html +22 -20
  226. package/SVF-doxygen/html/functions_func_i.html +3 -3
  227. package/SVF-doxygen/html/functions_func_s.html +6 -6
  228. package/SVF-doxygen/html/functions_g.html +22 -20
  229. package/SVF-doxygen/html/functions_i.html +22 -16
  230. package/SVF-doxygen/html/functions_n.html +4 -4
  231. package/SVF-doxygen/html/functions_o.html +18 -19
  232. package/SVF-doxygen/html/functions_p.html +7 -7
  233. package/SVF-doxygen/html/functions_s.html +18 -16
  234. package/SVF-doxygen/html/functions_t.html +4 -4
  235. package/SVF-doxygen/html/functions_type_i.html +6 -0
  236. package/SVF-doxygen/html/functions_type_o.html +0 -3
  237. package/SVF-doxygen/html/functions_type_v.html +0 -3
  238. package/SVF-doxygen/html/functions_v.html +9 -12
  239. package/SVF-doxygen/html/functions_vars_b.html +1 -0
  240. package/SVF-doxygen/html/functions_vars_o.html +1 -1
  241. package/SVF-doxygen/html/functions_w.html +8 -8
  242. package/SVF-doxygen/html/namespaceSVF.html +44 -53
  243. package/SVF-doxygen/html/namespacemembers.html +1 -1
  244. package/SVF-doxygen/html/namespacemembers_func.html +1 -1
  245. package/SVF-doxygen/html/search/all_0.js +1 -1
  246. package/SVF-doxygen/html/search/all_10.js +324 -324
  247. package/SVF-doxygen/html/search/all_11.js +222 -222
  248. package/SVF-doxygen/html/search/all_12.js +543 -543
  249. package/SVF-doxygen/html/search/all_13.js +191 -191
  250. package/SVF-doxygen/html/search/all_14.js +67 -67
  251. package/SVF-doxygen/html/search/all_15.js +169 -170
  252. package/SVF-doxygen/html/search/all_16.js +63 -63
  253. package/SVF-doxygen/html/search/all_17.js +1 -1
  254. package/SVF-doxygen/html/search/all_18.js +1 -1
  255. package/SVF-doxygen/html/search/all_19.js +11 -11
  256. package/SVF-doxygen/html/search/all_1a.js +172 -172
  257. package/SVF-doxygen/html/search/all_2.js +1 -1
  258. package/SVF-doxygen/html/search/all_7.js +766 -765
  259. package/SVF-doxygen/html/search/all_8.js +196 -196
  260. package/SVF-doxygen/html/search/all_9.js +613 -611
  261. package/SVF-doxygen/html/search/all_a.js +46 -46
  262. package/SVF-doxygen/html/search/all_b.js +26 -26
  263. package/SVF-doxygen/html/search/all_c.js +116 -116
  264. package/SVF-doxygen/html/search/all_d.js +196 -196
  265. package/SVF-doxygen/html/search/all_e.js +207 -207
  266. package/SVF-doxygen/html/search/all_f.js +116 -116
  267. package/SVF-doxygen/html/search/classes_0.js +26 -26
  268. package/SVF-doxygen/html/search/classes_1.js +9 -9
  269. package/SVF-doxygen/html/search/classes_10.js +73 -73
  270. package/SVF-doxygen/html/search/classes_11.js +15 -15
  271. package/SVF-doxygen/html/search/classes_12.js +2 -2
  272. package/SVF-doxygen/html/search/classes_13.js +10 -10
  273. package/SVF-doxygen/html/search/classes_14.js +14 -14
  274. package/SVF-doxygen/html/search/classes_15.js +1 -1
  275. package/SVF-doxygen/html/search/classes_2.js +80 -80
  276. package/SVF-doxygen/html/search/classes_3.js +37 -37
  277. package/SVF-doxygen/html/search/classes_4.js +9 -9
  278. package/SVF-doxygen/html/search/classes_5.js +28 -28
  279. package/SVF-doxygen/html/search/classes_6.js +104 -104
  280. package/SVF-doxygen/html/search/classes_7.js +33 -33
  281. package/SVF-doxygen/html/search/classes_8.js +56 -56
  282. package/SVF-doxygen/html/search/classes_9.js +1 -1
  283. package/SVF-doxygen/html/search/classes_a.js +12 -12
  284. package/SVF-doxygen/html/search/classes_b.js +29 -29
  285. package/SVF-doxygen/html/search/classes_c.js +6 -6
  286. package/SVF-doxygen/html/search/classes_d.js +18 -18
  287. package/SVF-doxygen/html/search/classes_e.js +36 -36
  288. package/SVF-doxygen/html/search/classes_f.js +25 -25
  289. package/SVF-doxygen/html/search/defines_0.js +3 -3
  290. package/SVF-doxygen/html/search/defines_1.js +2 -2
  291. package/SVF-doxygen/html/search/defines_2.js +30 -30
  292. package/SVF-doxygen/html/search/defines_3.js +21 -21
  293. package/SVF-doxygen/html/search/defines_4.js +2 -2
  294. package/SVF-doxygen/html/search/defines_5.js +4 -4
  295. package/SVF-doxygen/html/search/defines_6.js +2 -2
  296. package/SVF-doxygen/html/search/defines_7.js +5 -5
  297. package/SVF-doxygen/html/search/defines_8.js +11 -11
  298. package/SVF-doxygen/html/search/defines_9.js +9 -9
  299. package/SVF-doxygen/html/search/defines_a.js +2 -2
  300. package/SVF-doxygen/html/search/defines_b.js +1 -1
  301. package/SVF-doxygen/html/search/defines_c.js +3 -3
  302. package/SVF-doxygen/html/search/defines_d.js +2 -2
  303. package/SVF-doxygen/html/search/defines_e.js +7 -7
  304. package/SVF-doxygen/html/search/defines_f.js +3 -3
  305. package/SVF-doxygen/html/search/enums_0.js +3 -3
  306. package/SVF-doxygen/html/search/enums_1.js +2 -2
  307. package/SVF-doxygen/html/search/enums_10.js +1 -1
  308. package/SVF-doxygen/html/search/enums_11.js +1 -1
  309. package/SVF-doxygen/html/search/enums_2.js +8 -8
  310. package/SVF-doxygen/html/search/enums_3.js +1 -1
  311. package/SVF-doxygen/html/search/enums_4.js +3 -3
  312. package/SVF-doxygen/html/search/enums_5.js +1 -1
  313. package/SVF-doxygen/html/search/enums_6.js +2 -2
  314. package/SVF-doxygen/html/search/enums_7.js +2 -2
  315. package/SVF-doxygen/html/search/enums_8.js +4 -4
  316. package/SVF-doxygen/html/search/enums_9.js +1 -1
  317. package/SVF-doxygen/html/search/enums_a.js +1 -1
  318. package/SVF-doxygen/html/search/enums_b.js +7 -7
  319. package/SVF-doxygen/html/search/enums_c.js +1 -1
  320. package/SVF-doxygen/html/search/enums_d.js +4 -4
  321. package/SVF-doxygen/html/search/enums_e.js +2 -2
  322. package/SVF-doxygen/html/search/enums_f.js +4 -4
  323. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  324. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  325. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  326. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  327. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  328. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  329. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  330. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  331. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  332. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  333. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  334. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  335. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  336. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  337. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  338. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  339. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  340. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  341. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  342. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  343. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  344. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  345. package/SVF-doxygen/html/search/files_0.js +13 -13
  346. package/SVF-doxygen/html/search/files_1.js +7 -7
  347. package/SVF-doxygen/html/search/files_10.js +8 -8
  348. package/SVF-doxygen/html/search/files_11.js +8 -8
  349. package/SVF-doxygen/html/search/files_12.js +2 -2
  350. package/SVF-doxygen/html/search/files_2.js +55 -55
  351. package/SVF-doxygen/html/search/files_3.js +14 -14
  352. package/SVF-doxygen/html/search/files_4.js +5 -5
  353. package/SVF-doxygen/html/search/files_5.js +13 -13
  354. package/SVF-doxygen/html/search/files_6.js +9 -9
  355. package/SVF-doxygen/html/search/files_7.js +14 -14
  356. package/SVF-doxygen/html/search/files_8.js +13 -13
  357. package/SVF-doxygen/html/search/files_9.js +18 -18
  358. package/SVF-doxygen/html/search/files_a.js +3 -3
  359. package/SVF-doxygen/html/search/files_b.js +2 -2
  360. package/SVF-doxygen/html/search/files_c.js +20 -20
  361. package/SVF-doxygen/html/search/files_d.js +4 -4
  362. package/SVF-doxygen/html/search/files_e.js +62 -62
  363. package/SVF-doxygen/html/search/files_f.js +8 -8
  364. package/SVF-doxygen/html/search/functions_0.js +12 -12
  365. package/SVF-doxygen/html/search/functions_1.js +360 -360
  366. package/SVF-doxygen/html/search/functions_10.js +140 -140
  367. package/SVF-doxygen/html/search/functions_11.js +138 -138
  368. package/SVF-doxygen/html/search/functions_12.js +278 -278
  369. package/SVF-doxygen/html/search/functions_13.js +59 -59
  370. package/SVF-doxygen/html/search/functions_14.js +39 -39
  371. package/SVF-doxygen/html/search/functions_15.js +71 -71
  372. package/SVF-doxygen/html/search/functions_16.js +32 -32
  373. package/SVF-doxygen/html/search/functions_17.js +3 -3
  374. package/SVF-doxygen/html/search/functions_18.js +172 -172
  375. package/SVF-doxygen/html/search/functions_2.js +86 -86
  376. package/SVF-doxygen/html/search/functions_3.js +257 -257
  377. package/SVF-doxygen/html/search/functions_4.js +75 -75
  378. package/SVF-doxygen/html/search/functions_5.js +53 -53
  379. package/SVF-doxygen/html/search/functions_6.js +59 -59
  380. package/SVF-doxygen/html/search/functions_7.js +852 -851
  381. package/SVF-doxygen/html/search/functions_8.js +148 -148
  382. package/SVF-doxygen/html/search/functions_9.js +429 -429
  383. package/SVF-doxygen/html/search/functions_a.js +30 -30
  384. package/SVF-doxygen/html/search/functions_b.js +2 -2
  385. package/SVF-doxygen/html/search/functions_c.js +26 -26
  386. package/SVF-doxygen/html/search/functions_d.js +77 -77
  387. package/SVF-doxygen/html/search/functions_e.js +35 -35
  388. package/SVF-doxygen/html/search/functions_f.js +56 -56
  389. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  390. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  391. package/SVF-doxygen/html/search/related_0.js +2 -2
  392. package/SVF-doxygen/html/search/related_1.js +2 -2
  393. package/SVF-doxygen/html/search/related_2.js +2 -2
  394. package/SVF-doxygen/html/search/related_3.js +2 -2
  395. package/SVF-doxygen/html/search/related_4.js +2 -2
  396. package/SVF-doxygen/html/search/related_5.js +1 -1
  397. package/SVF-doxygen/html/search/related_6.js +2 -2
  398. package/SVF-doxygen/html/search/related_7.js +4 -4
  399. package/SVF-doxygen/html/search/related_8.js +2 -2
  400. package/SVF-doxygen/html/search/related_9.js +4 -4
  401. package/SVF-doxygen/html/search/related_a.js +19 -19
  402. package/SVF-doxygen/html/search/related_b.js +4 -4
  403. package/SVF-doxygen/html/search/related_c.js +1 -1
  404. package/SVF-doxygen/html/search/related_d.js +11 -11
  405. package/SVF-doxygen/html/search/related_e.js +2 -2
  406. package/SVF-doxygen/html/search/related_f.js +2 -2
  407. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  408. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  409. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  410. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  411. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  412. package/SVF-doxygen/html/search/typedefs_13.js +34 -35
  413. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  414. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  415. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  416. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  417. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  418. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  419. package/SVF-doxygen/html/search/typedefs_7.js +44 -42
  420. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  421. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  422. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  423. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  424. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  425. package/SVF-doxygen/html/search/typedefs_d.js +14 -15
  426. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  427. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  428. package/SVF-doxygen/html/search/variables_0.js +151 -151
  429. package/SVF-doxygen/html/search/variables_1.js +75 -75
  430. package/SVF-doxygen/html/search/variables_10.js +97 -97
  431. package/SVF-doxygen/html/search/variables_11.js +44 -44
  432. package/SVF-doxygen/html/search/variables_12.js +92 -92
  433. package/SVF-doxygen/html/search/variables_13.js +75 -75
  434. package/SVF-doxygen/html/search/variables_14.js +14 -14
  435. package/SVF-doxygen/html/search/variables_15.js +48 -48
  436. package/SVF-doxygen/html/search/variables_16.js +9 -9
  437. package/SVF-doxygen/html/search/variables_17.js +1 -1
  438. package/SVF-doxygen/html/search/variables_18.js +2 -2
  439. package/SVF-doxygen/html/search/variables_2.js +38 -38
  440. package/SVF-doxygen/html/search/variables_3.js +142 -142
  441. package/SVF-doxygen/html/search/variables_4.js +55 -55
  442. package/SVF-doxygen/html/search/variables_5.js +36 -36
  443. package/SVF-doxygen/html/search/variables_6.js +66 -66
  444. package/SVF-doxygen/html/search/variables_7.js +33 -33
  445. package/SVF-doxygen/html/search/variables_8.js +7 -7
  446. package/SVF-doxygen/html/search/variables_9.js +77 -77
  447. package/SVF-doxygen/html/search/variables_a.js +4 -4
  448. package/SVF-doxygen/html/search/variables_b.js +10 -10
  449. package/SVF-doxygen/html/search/variables_c.js +45 -45
  450. package/SVF-doxygen/html/search/variables_d.js +56 -56
  451. package/SVF-doxygen/html/search/variables_e.js +123 -123
  452. package/SVF-doxygen/html/search/variables_f.js +30 -30
  453. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  454. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  455. package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
  456. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +9 -9
  457. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
  458. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
  459. package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
  460. package/SVF-doxygen/html/svf-ex_8cpp.html +22 -22
  461. package/SVF-doxygen/html/svf-ex_8cpp_source.html +23 -23
  462. package/package.json +1 -1
  463. package/svf/include/AbstractExecution/IntervalValue.h +3 -3
  464. package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +5 -5
  465. package/svf/include/MemoryModel/AccessPath.h +6 -5
  466. package/svf/include/SVFIR/SVFStatements.h +3 -1
  467. package/svf/include/SVFIR/SVFType.h +18 -11
  468. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +212 -185
  469. package/svf/lib/MemoryModel/AccessPath.cpp +10 -9
  470. package/svf/lib/SVFIR/SVFFileSystem.cpp +5 -5
  471. package/svf/lib/SVFIR/SVFType.cpp +0 -7
  472. package/svf-llvm/lib/LLVMModule.cpp +16 -5
  473. package/svf-llvm/lib/LLVMUtil.cpp +0 -9
  474. package/svf-llvm/lib/SymbolTableBuilder.cpp +4 -4
@@ -1294,175 +1294,186 @@ $(function() {
1294
1294
  <div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; assert(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.find(T) == <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.end() &amp;&amp;</div>
1295
1295
  <div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; <span class="stringliteral">&quot;SVFType has been added before&quot;</span>);</div>
1296
1296
  <div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; </div>
1297
- <div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svftype;</div>
1298
- <div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;PointerType&gt;(T))</div>
1299
- <div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; {</div>
1300
- <div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>();</div>
1301
- <div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; }</div>
1302
- <div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a>* intT = SVFUtil::dyn_cast&lt;IntegerType&gt;(T))</div>
1303
- <div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; {</div>
1304
- <div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; <span class="keyword">auto</span> svfIntT = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFIntegerType.html">SVFIntegerType</a>();</div>
1305
- <div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <span class="keywordtype">unsigned</span> signWidth = intT-&gt;getBitWidth();</div>
1306
- <div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; assert(signWidth &lt; INT16_MAX &amp;&amp; <span class="stringliteral">&quot;Integer width too big&quot;</span>);</div>
1307
- <div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; svfIntT-&gt;setSignAndWidth(intT-&gt;getSignBit() ? -signWidth : signWidth);</div>
1308
- <div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; svftype = svfIntT;</div>
1309
- <div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; }</div>
1310
- <div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a>* ft = SVFUtil::dyn_cast&lt;FunctionType&gt;(T))</div>
1311
- <div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ft-&gt;getReturnType()));</div>
1312
- <div class="line"><a name="l01274"></a><span class="lineno"> 1274</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;(T))</div>
1297
+ <div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; <span class="comment">// add SVFType&#39;s LLVM byte size iff T isSized(), otherwise byteSize is 0(default value)</span></div>
1298
+ <div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> byteSize = 0;</div>
1299
+ <div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keywordflow">if</span> (T-&gt;isSized())</div>
1300
+ <div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; {</div>
1301
+ <div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a03db82b8a7914367024723dba4d6ca3c">llvm::DataLayout</a> &amp;DL = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;</div>
1302
+ <div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">getMainLLVMModule</a>()-&gt;getDataLayout();</div>
1303
+ <div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *mut_T = <span class="keyword">const_cast&lt;</span><a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<span class="keyword">&gt;</span>(T);</div>
1304
+ <div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; byteSize = DL.getTypeAllocSize(mut_T);</div>
1305
+ <div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; }</div>
1306
+ <div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; </div>
1307
+ <div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svftype;</div>
1308
+ <div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;PointerType&gt;(T))</div>
1309
+ <div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; {</div>
1310
+ <div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160; svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>(byteSize);</div>
1311
+ <div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; }</div>
1312
+ <div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a>* intT = SVFUtil::dyn_cast&lt;IntegerType&gt;(T))</div>
1313
1313
  <div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; {</div>
1314
- <div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <span class="keyword">auto</span> svfst = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>();</div>
1315
- <div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordflow">if</span> (st-&gt;hasName())</div>
1316
- <div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; svfst-&gt;setName(st-&gt;getName().str());</div>
1317
- <div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; svftype = svfst;</div>
1318
- <div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; }</div>
1319
- <div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> at = SVFUtil::dyn_cast&lt;ArrayType&gt;(T))</div>
1320
- <div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; {</div>
1321
- <div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; <span class="keyword">auto</span> svfat = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>();</div>
1322
- <div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; svfat-&gt;setNumOfElement(at-&gt;getNumElements());</div>
1323
- <div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; svfat-&gt;setTypeOfElement(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(at-&gt;getElementType()));</div>
1324
- <div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; svftype = svfat;</div>
1325
- <div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; }</div>
1326
- <div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="keywordflow">else</span></div>
1327
- <div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; {</div>
1328
- <div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
1329
- <div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <span class="keyword">auto</span> ot = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFOtherType.html">SVFOtherType</a>(T-&gt;isSingleValueType());</div>
1330
- <div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; llvm::raw_string_ostream(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>) &lt;&lt; *T;</div>
1331
- <div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; ot-&gt;setRepr(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>));</div>
1332
- <div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; svftype = ot;</div>
1333
- <div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; }</div>
1334
- <div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; </div>
1335
- <div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a91083d9504ae5d220b28e0b3e461d4aa">addTypeInfo</a>(svftype);</div>
1336
- <div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>[T] = svftype;</div>
1337
- <div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pt = SVFUtil::dyn_cast&lt;PointerType&gt;(T))</div>
1338
- <div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; {</div>
1339
- <div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="comment">//cast svftype to SVFPointerType</span></div>
1340
- <div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* svfPtrType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(svftype);</div>
1341
- <div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; assert(svfPtrType &amp;&amp; <span class="stringliteral">&quot;this is not SVFPointerType&quot;</span>);</div>
1342
- <div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; svfPtrType-&gt;<a class="code" href="classSVF_1_1SVFPointerType.html#aaaa79de3df0f6764bfd3d2e487ea7a09">setPtrElementType</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">LLVMUtil::getPtrElementType</a>(pt)));</div>
1314
+ <div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; <span class="keyword">auto</span> svfIntT = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFIntegerType.html">SVFIntegerType</a>(byteSize);</div>
1315
+ <div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordtype">unsigned</span> signWidth = intT-&gt;getBitWidth();</div>
1316
+ <div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; assert(signWidth &lt; INT16_MAX &amp;&amp; <span class="stringliteral">&quot;Integer width too big&quot;</span>);</div>
1317
+ <div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; svfIntT-&gt;setSignAndWidth(intT-&gt;getSignBit() ? -signWidth : signWidth);</div>
1318
+ <div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; svftype = svfIntT;</div>
1319
+ <div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; }</div>
1320
+ <div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a>* ft = SVFUtil::dyn_cast&lt;FunctionType&gt;(T))</div>
1321
+ <div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160; svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ft-&gt;getReturnType()));</div>
1322
+ <div class="line"><a name="l01284"></a><span class="lineno"> 1284</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;(T))</div>
1323
+ <div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; {</div>
1324
+ <div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; <span class="keyword">auto</span> svfst = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>(byteSize);</div>
1325
+ <div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; <span class="keywordflow">if</span> (st-&gt;hasName())</div>
1326
+ <div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; svfst-&gt;setName(st-&gt;getName().str());</div>
1327
+ <div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; svftype = svfst;</div>
1328
+ <div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; }</div>
1329
+ <div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> at = SVFUtil::dyn_cast&lt;ArrayType&gt;(T))</div>
1330
+ <div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; {</div>
1331
+ <div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160; <span class="keyword">auto</span> svfat = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>(byteSize);</div>
1332
+ <div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; svfat-&gt;setNumOfElement(at-&gt;getNumElements());</div>
1333
+ <div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; svfat-&gt;setTypeOfElement(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(at-&gt;getElementType()));</div>
1334
+ <div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; svftype = svfat;</div>
1335
+ <div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; }</div>
1336
+ <div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <span class="keywordflow">else</span></div>
1337
+ <div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; {</div>
1338
+ <div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
1339
+ <div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="keyword">auto</span> ot = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFOtherType.html">SVFOtherType</a>(byteSize, T-&gt;isSingleValueType());</div>
1340
+ <div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160; llvm::raw_string_ostream(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>) &lt;&lt; *T;</div>
1341
+ <div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160; ot-&gt;setRepr(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>));</div>
1342
+ <div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; svftype = ot;</div>
1343
1343
  <div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; }</div>
1344
- <div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <span class="keywordflow">return</span> svftype;</div>
1345
- <div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div>
1346
- <div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; </div>
1347
- <div class="line"><a name="l01312"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29"> 1312</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">LLVMModuleSet::collectArrayInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* ty)</div>
1348
- <div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;{</div>
1349
- <div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> totalElemNum = ty-&gt;getNumElements();</div>
1350
- <div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy = ty-&gt;getElementType();</div>
1351
- <div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* aty = SVFUtil::dyn_cast&lt;ArrayType&gt;(elemTy))</div>
1352
- <div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; {</div>
1353
- <div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; totalElemNum *= aty-&gt;getNumElements();</div>
1354
- <div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; elemTy = aty-&gt;getElementType();</div>
1355
- <div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; }</div>
1356
- <div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; </div>
1357
- <div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(totalElemNum);</div>
1358
- <div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
1359
- <div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
1360
- <div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keywordflow">if</span> (totalElemNum == 0)</div>
1361
- <div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; {</div>
1362
- <div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, 0);</div>
1363
- <div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1, 1);</div>
1364
- <div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfType);</div>
1365
- <div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfType);</div>
1366
- <div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1367
- <div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; }</div>
1368
- <div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; </div>
1369
- <div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* elemStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
1370
- <div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
1371
- <div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
1372
- <div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfF; j++)</div>
1373
- <div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; {</div>
1374
- <div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* fieldTy = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
1375
- <div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(fieldTy);</div>
1344
+ <div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; </div>
1345
+ <div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a91083d9504ae5d220b28e0b3e461d4aa">addTypeInfo</a>(svftype);</div>
1346
+ <div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>[T] = svftype;</div>
1347
+ <div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pt = SVFUtil::dyn_cast&lt;PointerType&gt;(T))</div>
1348
+ <div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; {</div>
1349
+ <div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="comment">//cast svftype to SVFPointerType</span></div>
1350
+ <div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>* svfPtrType = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(svftype);</div>
1351
+ <div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160; assert(svfPtrType &amp;&amp; <span class="stringliteral">&quot;this is not SVFPointerType&quot;</span>);</div>
1352
+ <div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160; svfPtrType-&gt;<a class="code" href="classSVF_1_1SVFPointerType.html#aaaa79de3df0f6764bfd3d2e487ea7a09">setPtrElementType</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">LLVMUtil::getPtrElementType</a>(pt)));</div>
1353
+ <div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; }</div>
1354
+ <div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; </div>
1355
+ <div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <span class="keywordflow">return</span> svftype;</div>
1356
+ <div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;}</div>
1357
+ <div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; </div>
1358
+ <div class="line"><a name="l01323"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29"> 1323</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">LLVMModuleSet::collectArrayInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* ty)</div>
1359
+ <div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;{</div>
1360
+ <div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> totalElemNum = ty-&gt;getNumElements();</div>
1361
+ <div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy = ty-&gt;getElementType();</div>
1362
+ <div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* aty = SVFUtil::dyn_cast&lt;ArrayType&gt;(elemTy))</div>
1363
+ <div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; {</div>
1364
+ <div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; totalElemNum *= aty-&gt;getNumElements();</div>
1365
+ <div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; elemTy = aty-&gt;getElementType();</div>
1366
+ <div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; }</div>
1367
+ <div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; </div>
1368
+ <div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(totalElemNum);</div>
1369
+ <div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
1370
+ <div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; </div>
1371
+ <div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keywordflow">if</span> (totalElemNum == 0)</div>
1372
+ <div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; {</div>
1373
+ <div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, 0);</div>
1374
+ <div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1, 1);</div>
1375
+ <div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfType);</div>
1376
+ <div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfType);</div>
1377
+ <div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1376
1378
  <div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; }</div>
1377
1379
  <div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; </div>
1378
- <div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> outArrayElemNum = ty-&gt;getNumElements();</div>
1379
- <div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; outArrayElemNum; ++i)</div>
1380
- <div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; {</div>
1381
- <div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keyword">auto</span> idx = (i * nfE * totalElemNum) / outArrayElemNum;</div>
1382
- <div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, idx);</div>
1383
- <div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; }</div>
1384
- <div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; </div>
1385
- <div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; totalElemNum; ++i)</div>
1386
- <div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; {</div>
1387
- <div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfE; ++j)</div>
1388
- <div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; {</div>
1389
- <div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* et = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[j];</div>
1390
- <div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(et);</div>
1391
- <div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; }</div>
1392
- <div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; }</div>
1393
- <div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; </div>
1394
- <div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; assert(stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == nfE * totalElemNum &amp;&amp;</div>
1395
- <div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="stringliteral">&quot;typeForArray size incorrect!!!&quot;</span>);</div>
1396
- <div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(nfF, nfE * totalElemNum);</div>
1397
- <div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; </div>
1398
- <div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1399
- <div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;}</div>
1400
- <div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; </div>
1401
- <div class="line"><a name="l01375"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258"> 1375</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">LLVMModuleSet::collectStructInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* structTy,</div>
1402
- <div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&amp; numFields)</div>
1403
- <div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;{</div>
1404
- <div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
1405
- <div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; </div>
1406
- <div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; <span class="comment">// Number of fields after flattening the struct</span></div>
1407
- <div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; numFields = 0;</div>
1408
- <div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160; <span class="comment">// The offset when considering array stride info</span></div>
1409
- <div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> strideOffset = 0;</div>
1410
- <div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy : structTy-&gt;elements())</div>
1411
- <div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; {</div>
1412
- <div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfTy = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
1413
- <div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160; <span class="comment">// offset with int_32 (s32_t) is large enough and won&#39;t overflow</span></div>
1414
- <div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(numFields, elemSvfTy, strideOffset);</div>
1415
- <div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; </div>
1416
- <div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StructType, ArrayType&gt;(elemTy))</div>
1417
- <div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; {</div>
1418
- <div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* subStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
1419
- <div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
1420
- <div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
1421
- <div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; <span class="comment">// Copy ST&#39;s info, whose element 0 is the size of ST itself.</span></div>
1422
- <div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfF; ++j)</div>
1423
- <div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; {</div>
1424
- <div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemTy = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
1425
- <div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemTy);</div>
1426
- <div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; }</div>
1427
- <div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; numFields += nfF;</div>
1428
- <div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; strideOffset += nfE;</div>
1429
- <div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tpj = 0; tpj &lt; nfE; ++tpj)</div>
1430
- <div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; {</div>
1431
- <div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[tpj];</div>
1432
- <div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(ty);</div>
1433
- <div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; }</div>
1434
- <div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; </div>
1435
- <div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; }</div>
1436
- <div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; <span class="keywordflow">else</span></div>
1437
- <div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; {</div>
1438
- <div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="comment">// Simple type</span></div>
1439
- <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; numFields += 1;</div>
1440
- <div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; strideOffset += 1;</div>
1441
- <div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfTy);</div>
1442
- <div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfTy);</div>
1443
- <div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; }</div>
1444
- <div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; }</div>
1380
+ <div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* elemStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
1381
+ <div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
1382
+ <div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
1383
+ <div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfF; j++)</div>
1384
+ <div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; {</div>
1385
+ <div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* fieldTy = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
1386
+ <div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(fieldTy);</div>
1387
+ <div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; }</div>
1388
+ <div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; </div>
1389
+ <div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> outArrayElemNum = ty-&gt;getNumElements();</div>
1390
+ <div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; outArrayElemNum; ++i)</div>
1391
+ <div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; {</div>
1392
+ <div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; <span class="keyword">auto</span> idx = (i * nfE * totalElemNum) / outArrayElemNum;</div>
1393
+ <div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, idx);</div>
1394
+ <div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; }</div>
1395
+ <div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
1396
+ <div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; totalElemNum; ++i)</div>
1397
+ <div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; {</div>
1398
+ <div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfE; ++j)</div>
1399
+ <div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; {</div>
1400
+ <div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* et = elemStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[j];</div>
1401
+ <div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(et);</div>
1402
+ <div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; }</div>
1403
+ <div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; }</div>
1404
+ <div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; </div>
1405
+ <div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160; assert(stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == nfE * totalElemNum &amp;&amp;</div>
1406
+ <div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="stringliteral">&quot;typeForArray size incorrect!!!&quot;</span>);</div>
1407
+ <div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(nfF, nfE * totalElemNum);</div>
1408
+ <div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; </div>
1409
+ <div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1410
+ <div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;}</div>
1411
+ <div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; </div>
1412
+ <div class="line"><a name="l01386"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258"> 1386</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">LLVMModuleSet::collectStructInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* structTy,</div>
1413
+ <div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&amp; numFields)</div>
1414
+ <div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;{</div>
1415
+ <div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
1416
+ <div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; </div>
1417
+ <div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; <span class="comment">// Number of fields after flattening the struct</span></div>
1418
+ <div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; numFields = 0;</div>
1419
+ <div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160; <span class="comment">// The offset when considering array stride info</span></div>
1420
+ <div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> strideOffset = 0;</div>
1421
+ <div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy : structTy-&gt;elements())</div>
1422
+ <div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; {</div>
1423
+ <div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfTy = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
1424
+ <div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160; <span class="comment">// offset with int_32 (s32_t) is large enough and won&#39;t overflow</span></div>
1425
+ <div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(numFields, elemSvfTy, strideOffset);</div>
1426
+ <div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; </div>
1427
+ <div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StructType, ArrayType&gt;(elemTy))</div>
1428
+ <div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; {</div>
1429
+ <div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* subStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
1430
+ <div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
1431
+ <div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
1432
+ <div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; <span class="comment">// Copy ST&#39;s info, whose element 0 is the size of ST itself.</span></div>
1433
+ <div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j &lt; nfF; ++j)</div>
1434
+ <div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; {</div>
1435
+ <div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemTy = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
1436
+ <div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemTy);</div>
1437
+ <div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; }</div>
1438
+ <div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; numFields += nfF;</div>
1439
+ <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; strideOffset += nfE;</div>
1440
+ <div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tpj = 0; tpj &lt; nfE; ++tpj)</div>
1441
+ <div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; {</div>
1442
+ <div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = subStInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[tpj];</div>
1443
+ <div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(ty);</div>
1444
+ <div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; }</div>
1445
1445
  <div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; </div>
1446
- <div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; assert(stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == strideOffset &amp;&amp;</div>
1447
- <div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="stringliteral">&quot;typeForStruct size incorrect!&quot;</span>);</div>
1448
- <div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(numFields,strideOffset);</div>
1449
- <div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; </div>
1450
- <div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1451
- <div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;}</div>
1452
- <div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; </div>
1453
- <div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; </div>
1454
- <div class="line"><a name="l01432"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2"> 1432</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">LLVMModuleSet::collectSimpleTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ty)</div>
1455
- <div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;{</div>
1456
- <div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
1457
- <div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ty);</div>
1458
- <div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, svfType, 0);</div>
1446
+ <div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; }</div>
1447
+ <div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">else</span></div>
1448
+ <div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; {</div>
1449
+ <div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; <span class="comment">// Simple type</span></div>
1450
+ <div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; numFields += 1;</div>
1451
+ <div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; strideOffset += 1;</div>
1452
+ <div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfTy);</div>
1453
+ <div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfTy);</div>
1454
+ <div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; }</div>
1455
+ <div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; }</div>
1456
+ <div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; </div>
1457
+ <div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160; assert(stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == strideOffset &amp;&amp;</div>
1458
+ <div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="stringliteral">&quot;typeForStruct size incorrect!&quot;</span>);</div>
1459
+ <div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(numFields,strideOffset);</div>
1460
+ <div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; </div>
1461
+ <div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1462
+ <div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;}</div>
1459
1463
  <div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; </div>
1460
- <div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(svfType);</div>
1461
- <div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(svfType);</div>
1462
- <div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1,1);</div>
1463
- <div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; </div>
1464
- <div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1465
- <div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;}</div>
1464
+ <div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160; </div>
1465
+ <div class="line"><a name="l01443"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2"> 1443</a></span>&#160;<a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">LLVMModuleSet::collectSimpleTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ty)</div>
1466
+ <div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;{</div>
1467
+ <div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
1468
+ <div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160; <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ty);</div>
1469
+ <div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, svfType, 0);</div>
1470
+ <div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; </div>
1471
+ <div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(svfType);</div>
1472
+ <div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(svfType);</div>
1473
+ <div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160; stInfo-&gt;<a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1,1);</div>
1474
+ <div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; </div>
1475
+ <div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1476
+ <div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;}</div>
1466
1477
  </div><!-- fragment --></div><!-- contents -->
1467
1478
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a72be32d606db86090067159de44e01ec"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a72be32d606db86090067159de44e01ec">SVF::SymbolTableInfo::addStInfo</a></div><div class="ttdeci">void addStInfo(StInfo *stInfo)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00352">SymbolTableInfo.h:352</a></div></div>
1468
1479
  <div class="ttc" id="anamespaceSVF_html_a827d09974dc7bf0849f96823cc2fee89"><div class="ttname"><a href="namespaceSVF.html#a827d09974dc7bf0849f96823cc2fee89">SVF::DomTreeNode</a></div><div class="ttdeci">llvm::DomTreeNode DomTreeNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00132">BasicTypes.h:132</a></div></div>
@@ -1488,7 +1499,7 @@ $(function() {
1488
1499
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ac7c646a78c989807c52263fc35fb3628"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac7c646a78c989807c52263fc35fb3628">SVF::LLVMModuleSet::buildFunToFunMap</a></div><div class="ttdeci">void buildFunToFunMap()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00807">LLVMModule.cpp:807</a></div></div>
1489
1500
  <div class="ttc" id="aclassSVF_1_1SVFCallInst_html_a6dd304f555d2d2388c4430e57b0d2b91"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91">SVF::SVFCallInst::setCalledOperand</a></div><div class="ttdeci">void setCalledOperand(const SVFValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00706">SVFValue.h:706</a></div></div>
1490
1501
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a91083d9504ae5d220b28e0b3e461d4aa"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a91083d9504ae5d220b28e0b3e461d4aa">SVF::SymbolTableInfo::addTypeInfo</a></div><div class="ttdeci">void addTypeInfo(const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00345">SymbolTableInfo.h:345</a></div></div>
1491
- <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00344">SVFType.h:344</a></div></div>
1502
+ <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00351">SVFType.h:351</a></div></div>
1492
1503
  <div class="ttc" id="anamespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00139">BasicTypes.h:139</a></div></div>
1493
1504
  <div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
1494
1505
  <div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
@@ -1503,9 +1514,10 @@ $(function() {
1503
1514
  <div class="ttc" id="anamespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
1504
1515
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_af4bd487b3b6efe55bf869b869f5e8a80"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#af4bd487b3b6efe55bf869b869f5e8a80">SVF::LLVMModuleSet::addConstantDataMap</a></div><div class="ttdeci">void addConstantDataMap(const ConstantData *cd, SVFConstantData *svfcd)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00174">LLVMModule.h:174</a></div></div>
1505
1516
  <div class="ttc" id="anamespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
1517
+ <div class="ttc" id="anamespaceSVF_html_a03db82b8a7914367024723dba4d6ca3c"><div class="ttname"><a href="namespaceSVF.html#a03db82b8a7914367024723dba4d6ca3c">SVF::DataLayout</a></div><div class="ttdeci">llvm::DataLayout DataLayout</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00106">BasicTypes.h:106</a></div></div>
1506
1518
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a15e97e3f2ba62d3fe444bb17cd637dbd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a15e97e3f2ba62d3fe444bb17cd637dbd">SVF::LLVMModuleSet::buildSymbolTable</a></div><div class="ttdeci">void buildSymbolTable() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00123">LLVMModule.cpp:123</a></div></div>
1507
1519
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a7af3076a26060090377d1f74293560fe"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a7af3076a26060090377d1f74293560fe">SVF::SVFModule::setPagFromTXT</a></div><div class="ttdeci">static void setPagFromTXT(const std::string &amp;txt)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00083">SVFModule.h:83</a></div></div>
1508
- <div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00597">SVFType.h:597</a></div></div>
1520
+ <div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00604">SVFType.h:604</a></div></div>
1509
1521
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a3eaadb33cd21d0bd868526b5ddb051d9"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a3eaadb33cd21d0bd868526b5ddb051d9">SVF::LLVMModuleSet::addBasicBlockMap</a></div><div class="ttdeci">void addBasicBlockMap(const BasicBlock *bb, SVFBasicBlock *svfBB)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00154">LLVMModule.h:154</a></div></div>
1510
1522
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a0ef17c1d5e6a95c597d2334ea577a965"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965">SVF::LLVMModuleSet::getSVFOtherValue</a></div><div class="ttdeci">SVFOtherValue * getSVFOtherValue(const Value *ov)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01146">LLVMModule.cpp:1146</a></div></div>
1511
1523
  <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>
@@ -1517,7 +1529,7 @@ $(function() {
1517
1529
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4b94c96898dbbc71bc1cee04786cf3dc"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4b94c96898dbbc71bc1cee04786cf3dc">SVF::LLVMModuleSet::LLVMConst2SVFConst</a></div><div class="ttdeci">LLVMConst2SVFConstMap LLVMConst2SVFConst</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00087">LLVMModule.h:87</a></div></div>
1518
1530
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00108">LLVMModule.h:108</a></div></div>
1519
1531
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a50fc24901350df9db890ba16a9b87e33"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00199">LLVMModule.h:199</a></div></div>
1520
- <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a946d1251501c7e0e33a9210838951258"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">SVF::LLVMModuleSet::collectStructInfo</a></div><div class="ttdeci">StInfo * collectStructInfo(const StructType *structTy, u32_t &amp;numFields)</div><div class="ttdoc">Collect the struct info and set the number of fields after flattening.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01375">LLVMModule.cpp:1375</a></div></div>
1532
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a946d1251501c7e0e33a9210838951258"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">SVF::LLVMModuleSet::collectStructInfo</a></div><div class="ttdeci">StInfo * collectStructInfo(const StructType *structTy, u32_t &amp;numFields)</div><div class="ttdoc">Collect the struct info and set the number of fields after flattening.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01386">LLVMModule.cpp:1386</a></div></div>
1521
1533
  <div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
1522
1534
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_ae64d24569942d7c4b18d2198be4839f3"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ae64d24569942d7c4b18d2198be4839f3">SVF::SVFModule::addConstant</a></div><div class="ttdeci">void addConstant(SVFConstant *cd)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00120">SVFModule.h:120</a></div></div>
1523
1535
  <div class="ttc" id="aclassSVF_1_1SVFBlackHoleValue_html"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html">SVF::SVFBlackHoleValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01038">SVFValue.h:1038</a></div></div>
@@ -1525,11 +1537,11 @@ $(function() {
1525
1537
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a41e64f3318e2bf368eebe9a104ef6ad9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9">SVF::LLVMUtil::getFunNameOfVCallSite</a></div><div class="ttdeci">std::string getFunNameOfVCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01198">LLVMUtil.cpp:1198</a></div></div>
1526
1538
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_ad865b8440a6e0d5d212798d2213e1e9c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c">SVF::SVFFunction::addArgument</a></div><div class="ttdeci">void addArgument(SVFArgument *arg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00331">SVFValue.h:331</a></div></div>
1527
1539
  <div class="ttc" id="aclassSVF_1_1StInfo_html_ae5fad367673315da57a604e64b5889f0"><div class="ttname"><a href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">SVF::StInfo::getNumOfFlattenFields</a></div><div class="ttdeci">u32_t getNumOfFlattenFields() const</div><div class="ttdoc">Return the number of fields after flattening (ignoring array elements)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00231">SVFType.h:231</a></div></div>
1528
- <div class="ttc" id="aclassSVF_1_1SVFPointerType_html_aaaa79de3df0f6764bfd3d2e487ea7a09"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html#aaaa79de3df0f6764bfd3d2e487ea7a09">SVF::SVFPointerType::setPtrElementType</a></div><div class="ttdeci">void setPtrElementType(SVFType *_ptrElementType)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00368">SVFType.h:368</a></div></div>
1540
+ <div class="ttc" id="aclassSVF_1_1SVFPointerType_html_aaaa79de3df0f6764bfd3d2e487ea7a09"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html#aaaa79de3df0f6764bfd3d2e487ea7a09">SVF::SVFPointerType::setPtrElementType</a></div><div class="ttdeci">void setPtrElementType(SVFType *_ptrElementType)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00375">SVFType.h:375</a></div></div>
1529
1541
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a651b6a1cf3665277d2241220bb145aed"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a651b6a1cf3665277d2241220bb145aed">SVF::LLVMUtil::functionDoesNotRet</a></div><div class="ttdeci">bool functionDoesNotRet(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00104">LLVMUtil.cpp:104</a></div></div>
1530
1542
  <div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
1531
1543
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a47d2af43ff12d9e1014fa19256619466"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a47d2af43ff12d9e1014fa19256619466">SVF::LLVMUtil::getCalledFunctions</a></div><div class="ttdeci">std::vector&lt; const Function * &gt; getCalledFunctions(const Function *F)</div><div class="ttdoc">Get all called funcions in a parent function.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00547">LLVMUtil.cpp:547</a></div></div>
1532
- <div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00575">SVFType.h:575</a></div></div>
1544
+ <div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00582">SVFType.h:582</a></div></div>
1533
1545
  <div class="ttc" id="anamespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00053">SVFType.h:53</a></div></div>
1534
1546
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a0ecff33105811b1e5ebc83afee76da27"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a0ecff33105811b1e5ebc83afee76da27">SVF::LLVMUtil::removeUnusedFuncsAndAnnotationsAndGlobalVariables</a></div><div class="ttdeci">void removeUnusedFuncsAndAnnotationsAndGlobalVariables(std::vector&lt; Function * &gt; removedFuncList)</div><div class="ttdoc">Delete unused functions, annotations and global variables in extapi.bc.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00596">LLVMUtil.cpp:596</a></div></div>
1535
1547
  <div class="ttc" id="anamespaceSVF_html_a5c943191dc4e242704943e5f594ae99e"><div class="ttname"><a href="namespaceSVF.html#a5c943191dc4e242704943e5f594ae99e">SVF::const_pred_iterator</a></div><div class="ttdeci">llvm::const_pred_iterator const_pred_iterator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00251">BasicTypes.h:251</a></div></div>
@@ -1559,10 +1571,10 @@ $(function() {
1559
1571
  <div class="ttc" id="anamespaceSVF_html_a146d286041987860388da3d8bc85cee3"><div class="ttname"><a href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF::ArrayType</a></div><div class="ttdeci">llvm::ArrayType ArrayType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
1560
1572
  <div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
1561
1573
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
1562
- <div class="ttc" id="aclassSVF_1_1SVFFunctionType_html"><div class="ttname"><a href="classSVF_1_1SVFFunctionType.html">SVF::SVFFunctionType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00404">SVFType.h:404</a></div></div>
1574
+ <div class="ttc" id="aclassSVF_1_1SVFFunctionType_html"><div class="ttname"><a href="classSVF_1_1SVFFunctionType.html">SVF::SVFFunctionType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00411">SVFType.h:411</a></div></div>
1563
1575
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1564
1576
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a07c785d931cef3c61e3dab4c615770be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a07c785d931cef3c61e3dab4c615770be">SVF::LLVMUtil::isPtrInUncalledFunction</a></div><div class="ttdeci">bool isPtrInUncalledFunction(const Value *value)</div><div class="ttdoc">Return true if this is value in a dead function (function without any caller)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00175">LLVMUtil.cpp:175</a></div></div>
1565
- <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00462">SVFType.h:462</a></div></div>
1577
+ <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00469">SVFType.h:469</a></div></div>
1566
1578
  <div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ac285502846c993f149b6bcc3e04f767e"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ac285502846c993f149b6bcc3e04f767e">SVF::SVFLoopAndDomInfo::getBBPDomLevel</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, u32_t &gt; &amp; getBBPDomLevel() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00118">SVFValue.h:118</a></div></div>
1567
1579
  <div class="ttc" id="aLLVMModule_8cpp_html_a10ab7c7da3a458495d8528b9e90d714b"><div class="ttname"><a href="LLVMModule_8cpp.html#a10ab7c7da3a458495d8528b9e90d714b">SVF_MAIN_FUNC_NAME</a></div><div class="ttdeci">#define SVF_MAIN_FUNC_NAME</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00067">LLVMModule.cpp:67</a></div></div>
1568
1580
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_a5798ecc742ee74e357d13eea751258c4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4">SVF::SVFFunction::getLoopAndDomInfo</a></div><div class="ttdeci">SVFLoopAndDomInfo * getLoopAndDomInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00362">SVFValue.h:362</a></div></div>
@@ -1572,7 +1584,7 @@ $(function() {
1572
1584
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a8a0fe93cc13b799fc28540fb312573c6"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a8a0fe93cc13b799fc28540fb312573c6">SVF::SVFModule::addFunctionSet</a></div><div class="ttdeci">void addFunctionSet(SVFFunction *svfFunc)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00106">SVFModule.h:106</a></div></div>
1573
1585
  <div class="ttc" id="aclassSVF_1_1StInfo_html"><div class="ttname"><a href="classSVF_1_1StInfo.html">SVF::StInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00132">SVFType.h:132</a></div></div>
1574
1586
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aee80b29e5246e3eaa0e30e165346101f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aee80b29e5246e3eaa0e30e165346101f">SVF::LLVMModuleSet::FunDeclToDefMap</a></div><div class="ttdeci">FunDeclToDefMapTy FunDeclToDefMap</div><div class="ttdoc">Function declaration to function definition map.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00075">LLVMModule.h:75</a></div></div>
1575
- <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00429">SVFType.h:429</a></div></div>
1587
+ <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
1576
1588
  <div class="ttc" id="aclassSVF_1_1SVFConstant_html"><div class="ttname"><a href="classSVF_1_1SVFConstant.html">SVF::SVFConstant</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00822">SVFValue.h:822</a></div></div>
1577
1589
  <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>
1578
1590
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a3a23aa54459a068e16c96e5b5eb72f77"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a3a23aa54459a068e16c96e5b5eb72f77">SVF::LLVMUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01118">LLVMUtil.cpp:1118</a></div></div>
@@ -1585,13 +1597,14 @@ $(function() {
1585
1597
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad8a8c32a09340f491fffffcb07dd7a41"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad8a8c32a09340f491fffffcb07dd7a41">SVF::LLVMUtil::isIRFile</a></div><div class="ttdeci">bool isIRFile(const std::string &amp;filename)</div><div class="ttdoc">Check whether a file is an LLVM IR file.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00400">LLVMUtil.cpp:400</a></div></div>
1586
1598
  <div class="ttc" id="aclassSVF_1_1Options_html_a3a718b0a27c2d13878c0718af97ad73d"><div class="ttname"><a href="classSVF_1_1Options.html#a3a718b0a27c2d13878c0718af97ad73d">SVF::Options::SVFMain</a></div><div class="ttdeci">static const Option&lt; bool &gt; SVFMain</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00214">Options.h:214</a></div></div>
1587
1599
  <div class="ttc" id="aBasicTypes_8h_html"><div class="ttname"><a href="BasicTypes_8h.html">BasicTypes.h</a></div></div>
1600
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a9fe3fa15a6a0ec25864cb8439a45596e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">SVF::LLVMModuleSet::getMainLLVMModule</a></div><div class="ttdeci">Module * getMainLLVMModule() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00324">LLVMModule.h:324</a></div></div>
1588
1601
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00955">SVFValue.h:955</a></div></div>
1589
1602
  <div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00989">SVFValue.h:989</a></div></div>
1590
1603
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a298966366b02d0a34f409c2c77da3789"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a298966366b02d0a34f409c2c77da3789">SVF::LLVMModuleSet::loadModules</a></div><div class="ttdeci">void loadModules(const std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00477">LLVMModule.cpp:477</a></div></div>
1591
1604
  <div class="ttc" id="aclassSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00845">SVFValue.h:845</a></div></div>
1592
1605
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ad06a92bf8bc556de742e0ffdf79ffafe"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ad06a92bf8bc556de742e0ffdf79ffafe">SVF::LLVMModuleSet::cxts</a></div><div class="ttdeci">std::unique_ptr&lt; LLVMContext &gt; cxts</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00070">LLVMModule.h:70</a></div></div>
1593
1606
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a1357c876eccedd58b3abe68875b3a570"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">SVF::SVFModule::pagReadFromTXT</a></div><div class="ttdeci">static bool pagReadFromTXT()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00098">SVFModule.h:98</a></div></div>
1594
- <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a52853bd34a394882c6fd0fc73739c9f2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">SVF::LLVMModuleSet::collectSimpleTypeInfo</a></div><div class="ttdeci">StInfo * collectSimpleTypeInfo(const Type *T)</div><div class="ttdoc">Collect simple type (non-aggregate) info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01432">LLVMModule.cpp:1432</a></div></div>
1607
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a52853bd34a394882c6fd0fc73739c9f2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">SVF::LLVMModuleSet::collectSimpleTypeInfo</a></div><div class="ttdeci">StInfo * collectSimpleTypeInfo(const Type *T)</div><div class="ttdoc">Collect simple type (non-aggregate) info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01443">LLVMModule.cpp:1443</a></div></div>
1595
1608
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae365189769640adb919a23c36978e5e2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">SVF::LLVMModuleSet::owned_modules</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Module &gt; &gt; owned_modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00071">LLVMModule.h:71</a></div></div>
1596
1609
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdoc">Borrowed from singleton SVFModule::svfModule.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00069">LLVMModule.h:69</a></div></div>
1597
1610
  <div class="ttc" id="aSVFModule_8h_html"><div class="ttname"><a href="SVFModule_8h.html">SVFModule.h</a></div></div>
@@ -1609,7 +1622,7 @@ $(function() {
1609
1622
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a428bd75b33fab60988d8758090712f29"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a428bd75b33fab60988d8758090712f29">SVF::LLVMUtil::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction(const Value *val)</div><div class="ttdoc">Return true if the argument in a function does not have a caller.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00201">LLVMUtil.h:201</a></div></div>
1610
1623
  <div class="ttc" id="aclassSVF_1_1SVFCallInst_html_ac979b49b449b97b2a23f195cb107ec77"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">SVF::SVFCallInst::addArgument</a></div><div class="ttdeci">void addArgument(const SVFValue *a)</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00702">SVFValue.h:702</a></div></div>
1611
1624
  <div class="ttc" id="anamespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00134">BasicTypes.h:134</a></div></div>
1612
- <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aa8de934358332505d4805db137d8ec29"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">SVF::LLVMModuleSet::collectArrayInfo</a></div><div class="ttdeci">StInfo * collectArrayInfo(const ArrayType *T)</div><div class="ttdoc">Collect the array info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01312">LLVMModule.cpp:1312</a></div></div>
1625
+ <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aa8de934358332505d4805db137d8ec29"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">SVF::LLVMModuleSet::collectArrayInfo</a></div><div class="ttdeci">StInfo * collectArrayInfo(const ArrayType *T)</div><div class="ttdoc">Collect the array info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01323">LLVMModule.cpp:1323</a></div></div>
1613
1626
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4ca8c4678a7fefe26372fc1f4b2880fd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4ca8c4678a7fefe26372fc1f4b2880fd">SVF::LLVMModuleSet::createSVFDataStructure</a></div><div class="ttdeci">void createSVFDataStructure()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00153">LLVMModule.cpp:153</a></div></div>
1614
1627
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a7f8e61cf5d838d7a2e862bc6955f16be"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a7f8e61cf5d838d7a2e862bc6955f16be">SVF::LLVMModuleSet::SVFValue2LLVMValue</a></div><div class="ttdeci">SVFValue2LLVMValueMap SVFValue2LLVMValue</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00089">LLVMModule.h:89</a></div></div>
1615
1628
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
@@ -1633,10 +1646,10 @@ $(function() {
1633
1646
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a25821b0feeb3b08e00ec9d444520b727"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a25821b0feeb3b08e00ec9d444520b727">SVF::LLVMModuleSet::getSVFConstantData</a></div><div class="ttdeci">SVFConstantData * getSVFConstantData(const ConstantData *cd)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01083">LLVMModule.cpp:1083</a></div></div>
1634
1647
  <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>
1635
1648
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00047">SymbolTableInfo.h:47</a></div></div>
1636
- <div class="ttc" id="aclassSVF_1_1SVFIntegerType_html"><div class="ttname"><a href="classSVF_1_1SVFIntegerType.html">SVF::SVFIntegerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00376">SVFType.h:376</a></div></div>
1649
+ <div class="ttc" id="aclassSVF_1_1SVFIntegerType_html"><div class="ttname"><a href="classSVF_1_1SVFIntegerType.html">SVF::SVFIntegerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00383">SVFType.h:383</a></div></div>
1637
1650
  <div class="ttc" id="aclassSVF_1_1SVFStat_html_ae89293bc063bdc74a988e9c37c70321e"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVF::SVFStat::timeOfBuildingSymbolTable</a></div><div class="ttdeci">static double timeOfBuildingSymbolTable</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00091">SVFStat.h:91</a></div></div>
1638
1651
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a3d34fcdfc98add848a34fd5259c11eb2"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a3d34fcdfc98add848a34fd5259c11eb2">SVF::LLVMUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const Function * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00057">LLVMUtil.h:57</a></div></div>
1639
- <div class="ttc" id="aclassSVF_1_1SVFType_html_a3ddabbd763acaaca28cacbabe5bc7f3b"><div class="ttname"><a href="classSVF_1_1SVFType.html#a3ddabbd763acaaca28cacbabe5bc7f3b">SVF::SVFType::setPointerTo</a></div><div class="ttdeci">void setPointerTo(const SVFPointerType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00291">SVFType.h:291</a></div></div>
1652
+ <div class="ttc" id="aclassSVF_1_1SVFType_html_a3ddabbd763acaaca28cacbabe5bc7f3b"><div class="ttname"><a href="classSVF_1_1SVFType.html#a3ddabbd763acaaca28cacbabe5bc7f3b">SVF::SVFType::setPointerTo</a></div><div class="ttdeci">void setPointerTo(const SVFPointerType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00292">SVFType.h:292</a></div></div>
1640
1653
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a74256f36f0fdc242df9729906c34efbc"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc">SVF::LLVMModuleSet::getOtherSVFConstant</a></div><div class="ttdeci">SVFConstant * getOtherSVFConstant(const Constant *oc)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01130">LLVMModule.cpp:1130</a></div></div>
1641
1654
  <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>
1642
1655
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html_a0d5031bd11b6372803082111ec2cb4f6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">SVF::SVFFunction::addBasicBlock</a></div><div class="ttdeci">void addBasicBlock(const SVFBasicBlock *bb)</div><div class="ttdoc">annotations of this function</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00326">SVFValue.h:326</a></div></div>
@@ -1665,9 +1678,9 @@ $(function() {
1665
1678
  <div class="ttc" id="anamespaceSVF_html_ad49e4222ba46d9490b87a80df8b46800"><div class="ttname"><a href="namespaceSVF.html#ad49e4222ba46d9490b87a80df8b46800">SVF::ConstantFP</a></div><div class="ttdeci">llvm::ConstantFP ConstantFP</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
1666
1679
  <div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_afbd60d5443c7fa1448813d00bb5d0fa7"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#afbd60d5443c7fa1448813d00bb5d0fa7">SVF::LLVMUtil::getNextInsts</a></div><div class="ttdeci">void getNextInsts(const Instruction *curInst, std::vector&lt; const SVFInstruction * &gt; &amp;instList)</div><div class="ttdoc">Get the next instructions following control flow.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00275">LLVMUtil.cpp:275</a></div></div>
1667
1680
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a023ea6f179433fa4d007c98ddc38e3c5"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a023ea6f179433fa4d007c98ddc38e3c5">SVF::LLVMModuleSet::addOtherValueMap</a></div><div class="ttdeci">void addOtherValueMap(const Value *ov, SVFOtherValue *svfov)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00184">LLVMModule.h:184</a></div></div>
1668
- <div class="ttc" id="aclassSVF_1_1SVFOtherType_html"><div class="ttname"><a href="classSVF_1_1SVFOtherType.html">SVF::SVFOtherType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00502">SVFType.h:502</a></div></div>
1681
+ <div class="ttc" id="aclassSVF_1_1SVFOtherType_html"><div class="ttname"><a href="classSVF_1_1SVFOtherType.html">SVF::SVFOtherType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00509">SVFType.h:509</a></div></div>
1669
1682
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a3820263a157cffcfd78ad2894e9bcc5a"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a3820263a157cffcfd78ad2894e9bcc5a">SVF::LLVMModuleSet::buildSVFModule</a></div><div class="ttdeci">static SVFModule * buildSVFModule(Module &amp;mod, std::unique_ptr&lt; LLVMContext &gt; context)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00080">LLVMModule.cpp:80</a></div></div>
1670
- <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#l00569">SVFType.h:569</a></div></div>
1683
+ <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>
1671
1684
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a024f5de163fde6f63cb2d762b4b28d8a"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a024f5de163fde6f63cb2d762b4b28d8a">SVF::LLVMModuleSet::createSVFFunction</a></div><div class="ttdeci">void createSVFFunction(const Function *func)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00223">LLVMModule.cpp:223</a></div></div>
1672
1685
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00620">SVFValue.h:620</a></div></div>
1673
1686
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_aef0bb1e88d0b69313c673318f7b7cb5f"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#aef0bb1e88d0b69313c673318f7b7cb5f">SVF::SymbolTableBuilder::buildMemModel</a></div><div class="ttdeci">void buildMemModel(SVFModule *svfModule)</div><div class="ttdoc">Start building memory model.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00074">SymbolTableBuilder.cpp:74</a></div></div>