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
@@ -1074,55 +1074,66 @@ Friends</h2></td></tr>
1074
1074
  <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>
1075
1075
  <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>
1076
1076
  <div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; </div>
1077
- <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>
1078
- <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>
1079
- <div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; {</div>
1080
- <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>
1081
- <div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; }</div>
1082
- <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>
1083
- <div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160; {</div>
1084
- <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>
1085
- <div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; <span class="keywordtype">unsigned</span> signWidth = intT-&gt;getBitWidth();</div>
1086
- <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>
1087
- <div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; svfIntT-&gt;setSignAndWidth(intT-&gt;getSignBit() ? -signWidth : signWidth);</div>
1088
- <div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160; svftype = svfIntT;</div>
1089
- <div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; }</div>
1090
- <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>
1091
- <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>
1092
- <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>
1077
+ <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>
1078
+ <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>
1079
+ <div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keywordflow">if</span> (T-&gt;isSized())</div>
1080
+ <div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; {</div>
1081
+ <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>
1082
+ <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>
1083
+ <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>
1084
+ <div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160; byteSize = DL.getTypeAllocSize(mut_T);</div>
1085
+ <div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160; }</div>
1086
+ <div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; </div>
1087
+ <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>
1088
+ <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>
1089
+ <div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; {</div>
1090
+ <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>
1091
+ <div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160; }</div>
1092
+ <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>
1093
1093
  <div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160; {</div>
1094
- <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>
1095
- <div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordflow">if</span> (st-&gt;hasName())</div>
1096
- <div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160; svfst-&gt;setName(st-&gt;getName().str());</div>
1097
- <div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; svftype = svfst;</div>
1098
- <div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; }</div>
1099
- <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>
1100
- <div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; {</div>
1101
- <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>
1102
- <div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160; svfat-&gt;setNumOfElement(at-&gt;getNumElements());</div>
1103
- <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>
1104
- <div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160; svftype = svfat;</div>
1105
- <div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; }</div>
1106
- <div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; <span class="keywordflow">else</span></div>
1107
- <div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; {</div>
1108
- <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>
1109
- <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>
1110
- <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>
1111
- <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>
1112
- <div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; svftype = ot;</div>
1113
- <div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160; }</div>
1114
- <div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; </div>
1115
- <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>
1116
- <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>
1117
- <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>
1118
- <div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; {</div>
1119
- <div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160; <span class="comment">//cast svftype to SVFPointerType</span></div>
1120
- <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>
1121
- <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>
1122
- <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>
1094
+ <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>
1095
+ <div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160; <span class="keywordtype">unsigned</span> signWidth = intT-&gt;getBitWidth();</div>
1096
+ <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>
1097
+ <div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; svfIntT-&gt;setSignAndWidth(intT-&gt;getSignBit() ? -signWidth : signWidth);</div>
1098
+ <div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; svftype = svfIntT;</div>
1099
+ <div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160; }</div>
1100
+ <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>
1101
+ <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>
1102
+ <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>
1103
+ <div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; {</div>
1104
+ <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>
1105
+ <div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; <span class="keywordflow">if</span> (st-&gt;hasName())</div>
1106
+ <div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; svfst-&gt;setName(st-&gt;getName().str());</div>
1107
+ <div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; svftype = svfst;</div>
1108
+ <div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; }</div>
1109
+ <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>
1110
+ <div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; {</div>
1111
+ <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>
1112
+ <div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; svfat-&gt;setNumOfElement(at-&gt;getNumElements());</div>
1113
+ <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>
1114
+ <div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160; svftype = svfat;</div>
1115
+ <div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; }</div>
1116
+ <div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160; <span class="keywordflow">else</span></div>
1117
+ <div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; {</div>
1118
+ <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>
1119
+ <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>
1120
+ <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>
1121
+ <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>
1122
+ <div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160; svftype = ot;</div>
1123
1123
  <div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160; }</div>
1124
- <div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; <span class="keywordflow">return</span> svftype;</div>
1125
- <div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;}</div>
1124
+ <div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160; </div>
1125
+ <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>
1126
+ <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>
1127
+ <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>
1128
+ <div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; {</div>
1129
+ <div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160; <span class="comment">//cast svftype to SVFPointerType</span></div>
1130
+ <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>
1131
+ <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>
1132
+ <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>
1133
+ <div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; }</div>
1134
+ <div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; </div>
1135
+ <div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; <span class="keywordflow">return</span> svftype;</div>
1136
+ <div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;}</div>
1126
1137
  </div><!-- fragment -->
1127
1138
  </div>
1128
1139
  </div>
@@ -1612,59 +1623,59 @@ Friends</h2></td></tr>
1612
1623
  <p>Array's flatten field infor is the same as its element's flatten infor.</p>
1613
1624
  <p>Flatten arrays, map each array element index <code>i</code> to flattened index <code>(i * nfE * totalElemNum)/outArrayElemNum</code> nfE&gt;1 if the array element is a struct with more than one field.</p>
1614
1625
 
1615
- <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01312">1312</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1616
- <div class="fragment"><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;{</div>
1617
- <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>
1618
- <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>
1619
- <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>
1620
- <div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160; {</div>
1621
- <div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160; totalElemNum *= aty-&gt;getNumElements();</div>
1622
- <div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160; elemTy = aty-&gt;getElementType();</div>
1623
- <div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160; }</div>
1624
- <div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160; </div>
1625
- <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>
1626
- <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>
1627
- <div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160; </div>
1628
- <div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160; <span class="keywordflow">if</span> (totalElemNum == 0)</div>
1629
- <div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160; {</div>
1630
- <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>
1631
- <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>
1632
- <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>
1633
- <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>
1634
- <div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1635
- <div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160; }</div>
1636
- <div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; </div>
1637
- <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>
1638
- <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>
1639
- <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>
1640
- <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>
1641
- <div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160; {</div>
1642
- <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>
1643
- <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>
1626
+ <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01323">1323</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1627
+ <div class="fragment"><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;{</div>
1628
+ <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>
1629
+ <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>
1630
+ <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>
1631
+ <div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160; {</div>
1632
+ <div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; totalElemNum *= aty-&gt;getNumElements();</div>
1633
+ <div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160; elemTy = aty-&gt;getElementType();</div>
1634
+ <div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; }</div>
1635
+ <div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160; </div>
1636
+ <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>
1637
+ <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>
1638
+ <div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; </div>
1639
+ <div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160; <span class="keywordflow">if</span> (totalElemNum == 0)</div>
1640
+ <div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; {</div>
1641
+ <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>
1642
+ <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>
1643
+ <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>
1644
+ <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>
1645
+ <div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1644
1646
  <div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160; }</div>
1645
1647
  <div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160; </div>
1646
- <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>
1647
- <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>
1648
- <div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160; {</div>
1649
- <div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160; <span class="keyword">auto</span> idx = (i * nfE * totalElemNum) / outArrayElemNum;</div>
1650
- <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>
1651
- <div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; }</div>
1652
- <div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; </div>
1653
- <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>
1654
- <div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; {</div>
1655
- <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>
1656
- <div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160; {</div>
1657
- <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>
1658
- <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>
1659
- <div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; }</div>
1660
- <div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; }</div>
1661
- <div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160; </div>
1662
- <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>
1663
- <div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; <span class="stringliteral">&quot;typeForArray size incorrect!!!&quot;</span>);</div>
1664
- <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>
1665
- <div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; </div>
1666
- <div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1667
- <div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;}</div>
1648
+ <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>
1649
+ <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>
1650
+ <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>
1651
+ <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>
1652
+ <div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160; {</div>
1653
+ <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>
1654
+ <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>
1655
+ <div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; }</div>
1656
+ <div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160; </div>
1657
+ <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>
1658
+ <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>
1659
+ <div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160; {</div>
1660
+ <div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160; <span class="keyword">auto</span> idx = (i * nfE * totalElemNum) / outArrayElemNum;</div>
1661
+ <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>
1662
+ <div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160; }</div>
1663
+ <div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160; </div>
1664
+ <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>
1665
+ <div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160; {</div>
1666
+ <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>
1667
+ <div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160; {</div>
1668
+ <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>
1669
+ <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>
1670
+ <div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; }</div>
1671
+ <div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160; }</div>
1672
+ <div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; </div>
1673
+ <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>
1674
+ <div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160; <span class="stringliteral">&quot;typeForArray size incorrect!!!&quot;</span>);</div>
1675
+ <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>
1676
+ <div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160; </div>
1677
+ <div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1678
+ <div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;}</div>
1668
1679
  </div><!-- fragment -->
1669
1680
  </div>
1670
1681
  </div>
@@ -1696,18 +1707,18 @@ Friends</h2></td></tr>
1696
1707
  <p>Collect simple type (non-aggregate) info </p>
1697
1708
  <p>Only one field</p>
1698
1709
 
1699
- <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01432">1432</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1700
- <div class="fragment"><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;{</div>
1701
- <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>
1702
- <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>
1703
- <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>
1704
- <div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; </div>
1705
- <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>
1706
- <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>
1707
- <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>
1708
- <div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160; </div>
1709
- <div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1710
- <div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;}</div>
1710
+ <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01443">1443</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1711
+ <div class="fragment"><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;{</div>
1712
+ <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>
1713
+ <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>
1714
+ <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>
1715
+ <div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160; </div>
1716
+ <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>
1717
+ <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>
1718
+ <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>
1719
+ <div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160; </div>
1720
+ <div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1721
+ <div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;}</div>
1711
1722
  </div><!-- fragment -->
1712
1723
  </div>
1713
1724
  </div>
@@ -1749,56 +1760,56 @@ Friends</h2></td></tr>
1749
1760
  <p>Fill in struct_info for T. Given a Struct type, we recursively extend and record its fields and types. </p>
1750
1761
  <p>The struct info should not be processed before</p>
1751
1762
 
1752
- <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01375">1375</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1753
- <div class="fragment"><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;{</div>
1754
- <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>
1755
- <div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160; </div>
1756
- <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>
1757
- <div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160; numFields = 0;</div>
1758
- <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>
1759
- <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>
1760
- <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>
1761
- <div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; {</div>
1762
- <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>
1763
- <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>
1764
- <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>
1765
- <div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160; </div>
1766
- <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>
1767
- <div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160; {</div>
1768
- <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>
1769
- <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>
1770
- <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>
1771
- <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>
1772
- <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>
1773
- <div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160; {</div>
1774
- <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>
1775
- <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>
1776
- <div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; }</div>
1777
- <div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160; numFields += nfF;</div>
1778
- <div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; strideOffset += nfE;</div>
1779
- <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>
1780
- <div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160; {</div>
1781
- <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>
1782
- <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>
1783
- <div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; }</div>
1784
- <div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; </div>
1785
- <div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160; }</div>
1786
- <div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; <span class="keywordflow">else</span></div>
1787
- <div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; {</div>
1788
- <div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; <span class="comment">// Simple type</span></div>
1789
- <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; numFields += 1;</div>
1790
- <div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160; strideOffset += 1;</div>
1791
- <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>
1792
- <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>
1793
- <div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160; }</div>
1794
- <div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; }</div>
1763
+ <p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l01386">1386</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
1764
+ <div class="fragment"><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;{</div>
1765
+ <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>
1766
+ <div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160; </div>
1767
+ <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>
1768
+ <div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; numFields = 0;</div>
1769
+ <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>
1770
+ <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>
1771
+ <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>
1772
+ <div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160; {</div>
1773
+ <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>
1774
+ <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>
1775
+ <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>
1776
+ <div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160; </div>
1777
+ <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>
1778
+ <div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160; {</div>
1779
+ <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>
1780
+ <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>
1781
+ <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>
1782
+ <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>
1783
+ <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>
1784
+ <div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160; {</div>
1785
+ <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>
1786
+ <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>
1787
+ <div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160; }</div>
1788
+ <div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; numFields += nfF;</div>
1789
+ <div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; strideOffset += nfE;</div>
1790
+ <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>
1791
+ <div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160; {</div>
1792
+ <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>
1793
+ <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>
1794
+ <div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; }</div>
1795
1795
  <div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; </div>
1796
- <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>
1797
- <div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="stringliteral">&quot;typeForStruct size incorrect!&quot;</span>);</div>
1798
- <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>
1799
- <div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; </div>
1800
- <div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1801
- <div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;}</div>
1796
+ <div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160; }</div>
1797
+ <div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160; <span class="keywordflow">else</span></div>
1798
+ <div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160; {</div>
1799
+ <div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; <span class="comment">// Simple type</span></div>
1800
+ <div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160; numFields += 1;</div>
1801
+ <div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160; strideOffset += 1;</div>
1802
+ <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>
1803
+ <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>
1804
+ <div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160; }</div>
1805
+ <div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160; }</div>
1806
+ <div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160; </div>
1807
+ <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>
1808
+ <div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; <span class="stringliteral">&quot;typeForStruct size incorrect!&quot;</span>);</div>
1809
+ <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>
1810
+ <div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; </div>
1811
+ <div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160; <span class="keywordflow">return</span> stInfo;</div>
1812
+ <div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;}</div>
1802
1813
  </div><!-- fragment -->
1803
1814
  </div>
1804
1815
  </div>
@@ -4322,7 +4333,7 @@ Friends</h2></td></tr>
4322
4333
  <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>
4323
4334
  <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>
4324
4335
  <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>
4325
- <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>
4336
+ <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>
4326
4337
  <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>
4327
4338
  <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>
4328
4339
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae2a1fa0b908cf372c50af90e62c4bf2b"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae2a1fa0b908cf372c50af90e62c4bf2b">SVF::LLVMModuleSet::GlobalDefToRepMap</a></div><div class="ttdeci">GlobalDefToRepMapTy GlobalDefToRepMap</div><div class="ttdoc">Global definition to a rep definition map.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00081">LLVMModule.h:81</a></div></div>
@@ -4337,9 +4348,10 @@ Friends</h2></td></tr>
4337
4348
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ac59b07cafcbacc950eefea4082425b63"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac59b07cafcbacc950eefea4082425b63">SVF::LLVMModuleSet::llvmModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * llvmModuleSet</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00066">LLVMModule.h:66</a></div></div>
4338
4349
  <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>
4339
4350
  <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>
4351
+ <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>
4340
4352
  <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>
4341
4353
  <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>
4342
- <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>
4354
+ <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>
4343
4355
  <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>
4344
4356
  <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>
4345
4357
  <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>
@@ -4351,7 +4363,7 @@ Friends</h2></td></tr>
4351
4363
  <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>
4352
4364
  <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>
4353
4365
  <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>
4354
- <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>
4366
+ <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>
4355
4367
  <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>
4356
4368
  <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>
4357
4369
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a8afb7ab3ee4632e78d546e549110e74c"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a8afb7ab3ee4632e78d546e549110e74c">SVF::LLVMModuleSet::getModule</a></div><div class="ttdeci">Module * getModule(u32_t idx) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00135">LLVMModule.h:135</a></div></div>
@@ -4361,10 +4373,10 @@ Friends</h2></td></tr>
4361
4373
  <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>
4362
4374
  <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>
4363
4375
  <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>
4364
- <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>
4376
+ <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>
4365
4377
  <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>
4366
4378
  <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>
4367
- <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>
4379
+ <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>
4368
4380
  <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>
4369
4381
  <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>
4370
4382
  <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>
@@ -4393,10 +4405,10 @@ Friends</h2></td></tr>
4393
4405
  <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>
4394
4406
  <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>
4395
4407
  <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>
4396
- <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>
4408
+ <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>
4397
4409
  <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>
4398
4410
  <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>
4399
- <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>
4411
+ <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>
4400
4412
  <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>
4401
4413
  <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>
4402
4414
  <div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a42439790c217254ce5404622b197b3d0"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a42439790c217254ce5404622b197b3d0">SVF::LLVMModuleSet::LLVMInst2SVFInst</a></div><div class="ttdeci">LLVMInst2SVFInstMap LLVMInst2SVFInst</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00085">LLVMModule.h:85</a></div></div>
@@ -4404,7 +4416,7 @@ Friends</h2></td></tr>
4404
4416
  <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>
4405
4417
  <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>
4406
4418
  <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>
4407
- <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>
4419
+ <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>
4408
4420
  <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>
4409
4421
  <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>
4410
4422
  <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>
@@ -4424,7 +4436,7 @@ Friends</h2></td></tr>
4424
4436
  <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>
4425
4437
  <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>
4426
4438
  <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>
4427
- <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>
4439
+ <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>
4428
4440
  <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>
4429
4441
  <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>
4430
4442
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a1a07c2b1415c29d7d70791c6dfe602a3"><div class="ttname"><a href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">SVF::StInfo::setNumOfFieldsAndElems</a></div><div class="ttdeci">void setNumOfFieldsAndElems(u32_t nf, u32_t ne)</div><div class="ttdoc">Set number of fields and elements of an aggregate.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00218">SVFType.h:218</a></div></div>
@@ -4441,7 +4453,7 @@ Friends</h2></td></tr>
4441
4453
  <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>
4442
4454
  <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>
4443
4455
  <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>
4444
- <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>
4456
+ <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>
4445
4457
  <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>
4446
4458
  <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>
4447
4459
  <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>
@@ -4462,10 +4474,10 @@ Friends</h2></td></tr>
4462
4474
  <div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html">SVF::SymbolTableBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8h_source.html#l00042">SymbolTableBuilder.h:42</a></div></div>
4463
4475
  <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>
4464
4476
  <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>
4465
- <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>
4477
+ <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>
4466
4478
  <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>
4467
4479
  <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>
4468
- <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>
4480
+ <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>
4469
4481
  <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>
4470
4482
  <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>
4471
4483
  <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>
@@ -4493,8 +4505,8 @@ Friends</h2></td></tr>
4493
4505
  <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>
4494
4506
  <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>
4495
4507
  <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>
4496
- <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>
4497
- <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>
4508
+ <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>
4509
+ <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>
4498
4510
  <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>
4499
4511
  <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>
4500
4512
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a48d7f0643bb228701dcabb88ef541fca"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a48d7f0643bb228701dcabb88ef541fca">SVF::SVFModule::addOtherValue</a></div><div class="ttdeci">void addOtherValue(SVFOtherValue *ov)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00124">SVFModule.h:124</a></div></div>