svf-tools 1.0.469 → 1.0.472

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 (384) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -1
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +16 -16
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +3 -3
  7. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  8. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +23 -23
  13. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  14. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  15. package/SVF-doxygen/html/html/CHG_8cpp_source.html +11 -11
  16. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +15 -15
  18. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +40 -40
  19. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +17 -17
  20. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp.html +1 -1
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  26. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  28. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +18 -18
  29. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  30. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +6 -6
  31. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  35. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
  36. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/ExeState_8cpp.html +1 -1
  38. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +9 -9
  39. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  40. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -4
  44. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
  45. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  46. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  47. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
  48. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  50. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/html/Graph2Json_8h.html +1 -1
  52. package/SVF-doxygen/html/html/Graph2Json_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +9 -9
  54. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +7 -7
  57. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  59. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  60. package/SVF-doxygen/html/html/IRGraph_8h_source.html +18 -18
  61. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
  64. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +43 -37
  65. package/SVF-doxygen/html/html/LLVMUtil_8h.html +14 -166
  66. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +49 -106
  67. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  68. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  69. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +6 -6
  70. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +11 -11
  71. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +13 -13
  73. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  75. package/SVF-doxygen/html/html/MHP_8cpp_source.html +13 -13
  76. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  77. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  79. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  80. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +12 -12
  81. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
  82. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
  84. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  85. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  86. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
  88. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +14 -14
  90. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +1 -1
  92. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  93. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  94. package/SVF-doxygen/html/html/PCG_8cpp_source.html +9 -9
  95. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  96. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +1 -1
  97. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +7 -7
  98. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  99. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +17 -17
  100. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +10 -10
  101. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  102. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  103. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  104. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +1 -1
  105. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +42 -42
  106. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +26 -26
  107. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  108. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +71 -53
  109. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +54 -53
  110. package/SVF-doxygen/html/html/SVFGBuilder_8cpp.html +1 -1
  111. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +7 -7
  112. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  113. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  114. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  115. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp.html +1 -1
  117. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
  118. package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -1
  119. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +7 -7
  120. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  121. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +73 -73
  122. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -34
  123. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +7 -7
  124. package/SVF-doxygen/html/html/SVFIR_8h_source.html +11 -11
  125. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  126. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  127. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  128. package/SVF-doxygen/html/html/SVFUtil_8cpp.html +8 -9
  129. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +39 -38
  130. package/SVF-doxygen/html/html/SVFUtil_8h.html +150 -0
  131. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +91 -27
  132. package/SVF-doxygen/html/html/SVFVariables_8cpp.html +1 -1
  133. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +4 -4
  134. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +7 -7
  135. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  136. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  137. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +4 -4
  138. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  139. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +79 -77
  140. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +14 -14
  141. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +0 -1
  142. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +94 -100
  143. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +121 -119
  144. package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
  145. package/SVF-doxygen/html/html/TCT_8h_source.html +8 -8
  146. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  147. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  148. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
  149. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  150. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  151. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +16 -16
  152. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +3 -3
  153. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
  154. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +56 -57
  155. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  156. package/SVF-doxygen/html/html/VFG_8cpp.html +1 -1
  157. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  158. package/SVF-doxygen/html/html/VFG_8h_source.html +2 -2
  159. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp.html +1 -1
  160. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  161. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  162. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  163. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  164. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  165. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +9 -9
  173. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  174. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  176. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -9
  180. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +5 -5
  183. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +39 -39
  187. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +9 -9
  188. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  189. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  192. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +4 -4
  195. package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
  197. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  199. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  200. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  201. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +51 -51
  202. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +5 -5
  204. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
  208. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +8 -8
  209. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
  212. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +5 -5
  213. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +10 -10
  214. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
  215. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  216. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
  217. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
  218. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +5 -5
  219. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
  220. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +5 -5
  221. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +4 -4
  224. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +14 -14
  225. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +17 -17
  228. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
  232. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  233. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  234. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  235. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +18 -18
  237. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +8 -8
  239. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +26 -26
  240. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +14 -14
  241. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +25 -25
  242. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -20
  243. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
  246. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +21 -21
  247. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
  249. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +92 -92
  250. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +18 -18
  251. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  255. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +2 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +14 -14
  258. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  260. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +2 -2
  261. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +18 -18
  264. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +18 -18
  265. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +83 -83
  267. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +5 -5
  269. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +29 -29
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +4 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +6 -6
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +2 -2
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +21 -21
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +105 -105
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
  283. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  285. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  286. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +130 -128
  287. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +52 -50
  288. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +261 -206
  289. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
  290. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +7 -7
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +6 -6
  296. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +21 -21
  297. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +6 -6
  300. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  303. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  304. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  305. package/SVF-doxygen/html/html/functions_b.html +6 -3
  306. package/SVF-doxygen/html/html/functions_func_i.html +5 -5
  307. package/SVF-doxygen/html/html/functions_i.html +6 -6
  308. package/SVF-doxygen/html/html/functions_l.html +1 -1
  309. package/SVF-doxygen/html/html/functions_n.html +3 -0
  310. package/SVF-doxygen/html/html/functions_o.html +3 -3
  311. package/SVF-doxygen/html/html/functions_p.html +19 -15
  312. package/SVF-doxygen/html/html/functions_r.html +5 -3
  313. package/SVF-doxygen/html/html/functions_s.html +12 -10
  314. package/SVF-doxygen/html/html/functions_v.html +3 -3
  315. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  316. package/SVF-doxygen/html/html/functions_vars_n.html +3 -0
  317. package/SVF-doxygen/html/html/functions_w.html +10 -6
  318. package/SVF-doxygen/html/html/globals_c.html +105 -102
  319. package/SVF-doxygen/html/html/globals_r.html +3 -3
  320. package/SVF-doxygen/html/html/globals_s.html +4 -6
  321. package/SVF-doxygen/html/html/globals_type.html +3 -0
  322. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  323. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  324. package/SVF-doxygen/html/html/namespaceSVF.html +17 -35
  325. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +502 -443
  326. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +62 -62
  327. package/SVF-doxygen/html/html/namespacemembers_c.html +0 -3
  328. package/SVF-doxygen/html/html/namespacemembers_func.html +14 -8
  329. package/SVF-doxygen/html/html/namespacemembers_i.html +10 -4
  330. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -3
  331. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  332. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  333. package/SVF-doxygen/html/html/search/all_10.js +9 -9
  334. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  335. package/SVF-doxygen/html/html/search/all_13.js +9 -9
  336. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  337. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  338. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  339. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  340. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  341. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  342. package/SVF-doxygen/html/html/search/all_9.js +5 -5
  343. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  344. package/SVF-doxygen/html/html/search/all_e.js +2 -1
  345. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  346. package/SVF-doxygen/html/html/search/functions_8.js +3 -3
  347. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  349. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  350. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  351. package/SVF-doxygen/html/html/search/variables_e.js +2 -1
  352. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  353. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  354. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  355. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  356. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  357. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  358. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  359. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  360. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  361. package/include/MemoryModel/SymbolTableInfo.h +3 -2
  362. package/include/SVF-FE/BasicTypes.h +1 -0
  363. package/include/SVF-FE/Graph2Json.h +1 -1
  364. package/include/SVF-FE/LLVMUtil.h +9 -373
  365. package/include/Util/BasicTypes.h +0 -1
  366. package/include/Util/SVFUtil.h +379 -0
  367. package/lib/Graphs/PTACallGraph.cpp +1 -1
  368. package/lib/Graphs/SVFG.cpp +1 -1
  369. package/lib/Graphs/SVFGReadWrite.cpp +1 -1
  370. package/lib/Graphs/VFG.cpp +1 -1
  371. package/lib/MSSA/SVFGBuilder.cpp +1 -1
  372. package/lib/MemoryModel/PointerAnalysis.cpp +1 -0
  373. package/lib/MemoryModel/SVFVariables.cpp +1 -1
  374. package/lib/MemoryModel/SymbolTableInfo.cpp +7 -37
  375. package/lib/SVF-FE/CPPUtil.cpp +1 -0
  376. package/lib/SVF-FE/CallGraphBuilder.cpp +1 -1
  377. package/lib/SVF-FE/LLVMUtil.cpp +34 -8
  378. package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
  379. package/lib/SVF-FE/SymbolTableBuilder.cpp +13 -5
  380. package/lib/Util/ExeState.cpp +1 -1
  381. package/lib/Util/SVFUtil.cpp +9 -1
  382. package/lib/WPA/Andersen.cpp +1 -1
  383. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  384. package/package.json +1 -1
@@ -1974,7 +1974,7 @@ Additional Inherited Members</h2></td></tr>
1974
1974
 
1975
1975
  <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00224">224</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
1976
1976
  <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;{</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build Sparse Value-Flow Graph \n&quot;</span>));</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">startClk</a>();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a1608ded89f829a780d67cb82e1e62944">Options::ReadSVFG</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>())</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a9da50b8f467066b478143af64f7c9858">readFile</a>(<a class="code" href="classSVF_1_1Options.html#a1608ded89f829a780d67cb82e1e62944">Options::ReadSVFG</a>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;\tCreate SVFG Addr-taken Node\n&quot;</span>));</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a4bf9a39b93b7254f627dd393b9f2b82c">ATVFNodeStart</a>();</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#abddfc95cf644d0729ee29eccf95699f1">addSVFGNodesForAddrTakenVars</a>();</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#aa39231c3d81fa87cdb6089f17bc35af8">ATVFNodeEnd</a>();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;\tCreate SVFG Indirect Edge\n&quot;</span>));</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#adcb30427bb220dc122ad22030e10eb21">indVFEdgeStart</a>();</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a164a3df08fc24bacc0b97aee8b6eec38">connectIndirectSVFGEdges</a>();</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#a8b3b9a211f410e67e8fd1a79d3db9023">indVFEdgeEnd</a>();</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4a9e039ba28cc7cdadf9d9d4fa64ab11">Options::WriteSVFG</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>())</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a7ce9ec638995467c211958262be08ee1">writeToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4a9e039ba28cc7cdadf9d9d4fa64ab11">Options::WriteSVFG</a>);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFGStat_html_a4bf9a39b93b7254f627dd393b9f2b82c"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a4bf9a39b93b7254f627dd393b9f2b82c">SVF::SVFGStat::ATVFNodeStart</a></div><div class="ttdeci">void ATVFNodeStart()</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00139">SVFGStat.h:139</a></div></div>
1977
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
1977
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00100">SVFUtil.cpp:100</a></div></div>
1978
1978
  <div class="ttc" id="classSVF_1_1Options_html_a1608ded89f829a780d67cb82e1e62944"><div class="ttname"><a href="classSVF_1_1Options.html#a1608ded89f829a780d67cb82e1e62944">SVF::Options::ReadSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; ReadSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00162">Options.h:162</a></div></div>
1979
1979
  <div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
1980
1980
  <div class="ttc" id="classSVF_1_1Options_html_a4a9e039ba28cc7cdadf9d9d4fa64ab11"><div class="ttname"><a href="classSVF_1_1Options.html#a4a9e039ba28cc7cdadf9d9d4fa64ab11">SVF::Options::WriteSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; WriteSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00161">Options.h:161</a></div></div>
@@ -2239,10 +2239,10 @@ Additional Inherited Members</h2></td></tr>
2239
2239
  <div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;{</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = <a class="code" href="classSVF_1_1SVFG.html#a6f07410ee34e4bf1079e3b5902c81d28">mssa</a>-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* mainFunc =</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">SVFUtil::getProgEntryFunction</a>(svfModule);</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5">FormalINSVFGNodeSet</a>&amp; formalIns = <a class="code" href="classSVF_1_1SVFG.html#a9d0714075d6071c26d26cf16c4dec7c5">getFormalINSVFGNodes</a>(mainFunc);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">if</span> (formalIns.empty())</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">for</span> (GlobalVFGNodeSet::const_iterator storeIt = <a class="code" href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">globalVFGNodes</a>.begin(), storeEit = <a class="code" href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">globalVFGNodes</a>.end();</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; storeIt != storeEit; ++storeIt)</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; {</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* store = SVFUtil::dyn_cast&lt;StoreSVFGNode&gt;(*storeIt))</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; storePts = <a class="code" href="classSVF_1_1SVFG.html#a6f07410ee34e4bf1079e3b5902c81d28">mssa</a>-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(store-&gt;getPAGDstNodeID()).toNodeBS();</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">for</span> (FormalINSVFGNodeSet::iterator fiIt = formalIns.begin(), fiEit =</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; formalIns.end(); fiIt != fiEit; ++fiIt)</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; {</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> formalInID = *fiIt;</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> formalInPts = ((<a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>*) <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(formalInID))-&gt;getPointsTo();</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; formalInPts &amp;= storePts;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">if</span> (formalInPts.empty())</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(store-&gt;getId(), formalInID, formalInPts);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; }</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;}</div><div class="ttc" id="classSVF_1_1StoreVFGNode_html"><div class="ttname"><a href="classSVF_1_1StoreVFGNode.html">SVF::StoreVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00240">VFGNode.h:240</a></div></div>
2240
2240
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
2241
2241
  <div class="ttc" id="classSVF_1_1SVFG_html_a8859409373454b6b3d1252776e169cf5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5">SVF::SVFG::FormalINSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalINSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00080">SVFG.h:80</a></div></div>
2242
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
2242
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00127">BasicTypes.h:127</a></div></div>
2243
2243
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
2244
2244
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
2245
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aa8017e3e5100b3f63ee338b66118d266"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">SVF::SVFUtil::getProgEntryFunction</a></div><div class="ttdeci">const SVFFunction * getProgEntryFunction(SVFModule *svfModule)</div><div class="ttdoc">Get program entry function from module. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00465">LLVMUtil.h:465</a></div></div>
2245
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aa8017e3e5100b3f63ee338b66118d266"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">SVF::SVFUtil::getProgEntryFunction</a></div><div class="ttdeci">const SVFFunction * getProgEntryFunction(SVFModule *svfModule)</div><div class="ttdoc">Get program entry function from module. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00436">SVFUtil.h:436</a></div></div>
2246
2246
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00218">PointerAnalysis.h:218</a></div></div>
2247
2247
  <div class="ttc" id="classSVF_1_1VFG_html_a6c3daf2777cc5f76ce07241f803720f3"><div class="ttname"><a href="classSVF_1_1VFG.html#a6c3daf2777cc5f76ce07241f803720f3">SVF::VFG::globalVFGNodes</a></div><div class="ttdeci">GlobalVFGNodeSet globalVFGNodes</div><div class="ttdoc">set of global store VFG nodes </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00102">VFG.h:102</a></div></div>
2248
2248
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
@@ -2881,7 +2881,7 @@ Additional Inherited Members</h2></td></tr>
2881
2881
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
2882
2882
  <div class="ttc" id="classSVF_1_1SVFG_html_a2f6ed8a9f14657abc1e2a89247a84b99"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2f6ed8a9f14657abc1e2a89247a84b99">SVF::SVFG::ActualOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS ActualOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00079">SVFG.h:79</a></div></div>
2883
2883
  <div class="ttc" id="classSVF_1_1SVFG_html_ad9cc1581261182b56ae232d9a9b13296"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296">SVF::SVFG::hasCallSiteChi</a></div><div class="ttdeci">bool hasCallSiteChi(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00451">SVFG.h:451</a></div></div>
2884
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00144">BasicTypes.h:144</a></div></div>
2884
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00143">BasicTypes.h:143</a></div></div>
2885
2885
  <div class="ttc" id="classSVF_1_1SVFIR_html_a34e27b8bcfeaafda190dcdb9169a346f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f">SVF::SVFIR::getFunRet</a></div><div class="ttdeci">const SVFVar * getFunRet(const SVFFunction *func) const</div><div class="ttdoc">Get function return list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00270">SVFIR.h:270</a></div></div>
2886
2886
  <div class="ttc" id="classSVF_1_1SVFG_html_a842f6f2325c9e93ea96367e9cf624ee8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8">SVF::SVFG::hasCallSiteMu</a></div><div class="ttdeci">bool hasCallSiteMu(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00455">SVFG.h:455</a></div></div>
2887
2887
  <div class="ttc" id="classSVF_1_1SVFG_html_a7a88391e0c2cf8a57238dec32c2474a3"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7a88391e0c2cf8a57238dec32c2474a3">SVF::SVFG::getInterVFEdgeAtIndCSFromFOutToAOut</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromFOutToAOut(ActualOUTSVFGNode *actualOut, const SVFFunction *callee, SVFGEdgeSetTy &amp;edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00332">SVFG.h:332</a></div></div>
@@ -331,7 +331,7 @@ Protected Attributes</h2></td></tr>
331
331
  <p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00067">67</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
332
332
  <div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;{</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed">buildMSSA</a>(pta, (<a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">VFG::PTRONLYSVFG</a>==kind || <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>==kind));</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build Sparse Value-Flow Graph \n&quot;</span>));</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a78ce4bd2e80e7b87ff0ee52edd1db403">Options::SingleVFG</a>)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a>==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">VFG::FULLSVFG_OPT</a> || kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFGOPT.html">SVFGOPT</a>(mssa, kind);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <a class="code" href="classSVF_1_1SVFGBuilder.html#a31b754a303116f33d679dfcd886c4bed">globalSvfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>(mssa, kind);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#ae2d84f7527de200a2f269dc1c056a305">buildSVFG</a>();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">VFG::FULLSVFG_OPT</a> || kind == <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6a8ed0b9aea88fbbbe91f33301bea0c9dd">VFG::PTRONLYSVFG_OPT</a>)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFGOPT.html">SVFGOPT</a>(mssa, kind);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>(mssa,kind);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#ae2d84f7527de200a2f269dc1c056a305">buildSVFG</a>();</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a982b4cd71ccafd07d94f10a0a2e953c2">Options::SVFGWithIndirectCall</a> || <a class="code" href="classSVF_1_1SVFGBuilder.html#a70de38086437635d2e44d2a0c9fdded9">SVFGWithIndCall</a>)</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1VFG.html#a0c0a7c8f0bd27bc9e88ce54c0809b11b">updateCallGraph</a>(pta);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span>(mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">&quot;svfg_final&quot;</span>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00573">SVFG.cpp:573</a></div></div>
333
333
  <div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6aab1abd6be4a29fe8fb03a82f85e568a0">SVF::VFG::FULLSVFG_OPT</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
334
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
334
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00100">SVFUtil.cpp:100</a></div></div>
335
335
  <div class="ttc" id="classSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6ada8562b20e8d888a4b421c200957294d">SVF::VFG::PTRONLYSVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00057">VFG.h:57</a></div></div>
336
336
  <div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00755">SVFG.cpp:755</a></div></div>
337
337
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00367">PointerAnalysis.h:367</a></div></div>
@@ -414,9 +414,9 @@ Protected Attributes</h2></td></tr>
414
414
  <p>Build Memory SSA. </p>
415
415
 
416
416
  <p class="definition">Definition at line <a class="el" href="SVFGBuilder_8cpp_source.html#l00115">115</a> of file <a class="el" href="SVFGBuilder_8cpp_source.html">SVFGBuilder.cpp</a>.</p>
417
- <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build Memory SSA \n&quot;</span>));</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>(pta, ptrOnlyMSSA);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a> dt;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1MemSSADF.html">MemSSADF</a> df;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> iter = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eiter = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; iter != eiter; ++iter)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *iter;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; dt.recalculate(*fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; df.<a class="code" href="classSVF_1_1MemSSADF.html#a050e6010673cb24d4ef689100213594b">runOnDT</a>(dt);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ae56d1878046c119d1857727ca3609d74">buildMemSSA</a>(*fun, &amp;df, &amp;dt);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#a89c40c8fad70f3aead6531261e5a3cc3">performStat</a>();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a097255cb1373feaaaf2fe60c998862d5">Options::DumpMSSA</a>)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#a749df6d6b28dd1bae569989bffeb7746">dumpMSSA</a>();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> mssa;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
417
+ <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Build Memory SSA \n&quot;</span>));</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>(pta, ptrOnlyMSSA);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a> dt;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1MemSSADF.html">MemSSADF</a> df;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> iter = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eiter = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; iter != eiter; ++iter)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *iter;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; dt.recalculate(*fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; df.<a class="code" href="classSVF_1_1MemSSADF.html#a050e6010673cb24d4ef689100213594b">runOnDT</a>(dt);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ae56d1878046c119d1857727ca3609d74">buildMemSSA</a>(*fun, &amp;df, &amp;dt);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#a89c40c8fad70f3aead6531261e5a3cc3">performStat</a>();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a097255cb1373feaaaf2fe60c998862d5">Options::DumpMSSA</a>)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#a749df6d6b28dd1bae569989bffeb7746">dumpMSSA</a>();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">return</span> mssa;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00100">SVFUtil.cpp:100</a></div></div>
418
418
  <div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00147">SVFModule.h:147</a></div></div>
419
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
419
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00127">BasicTypes.h:127</a></div></div>
420
420
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
421
421
  <div class="ttc" id="classSVF_1_1MemSSADF_html"><div class="ttname"><a href="classSVF_1_1MemSSADF.html">SVF::MemSSADF</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00042">SVFGBuilder.h:42</a></div></div>
422
422
  <div class="ttc" id="classSVF_1_1MemSSADF_html_a050e6010673cb24d4ef689100213594b"><div class="ttname"><a href="classSVF_1_1MemSSADF.html#a050e6010673cb24d4ef689100213594b">SVF::MemSSADF::runOnDT</a></div><div class="ttdeci">bool runOnDT(DominatorTree &amp;dt)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00048">SVFGBuilder.h:48</a></div></div>
@@ -425,16 +425,16 @@ Protected Attributes</h2></td></tr>
425
425
  <div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
426
426
  <div class="ttc" id="classSVF_1_1MemSSA_html_a89c40c8fad70f3aead6531261e5a3cc3"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a89c40c8fad70f3aead6531261e5a3cc3">SVF::MemSSA::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00468">MemSSA.cpp:468</a></div></div>
427
427
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
428
- <div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00111">BasicTypes.h:111</a></div></div>
428
+ <div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00110">BasicTypes.h:110</a></div></div>
429
429
  <div class="ttc" id="classSVF_1_1Options_html_a097255cb1373feaaaf2fe60c998862d5"><div class="ttname"><a href="classSVF_1_1Options.html#a097255cb1373feaaaf2fe60c998862d5">SVF::Options::DumpMSSA</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpMSSA</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00151">Options.h:151</a></div></div>
430
430
  <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00159">SVFBasicTypes.h:159</a></div></div>
431
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00144">BasicTypes.h:144</a></div></div>
431
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00143">BasicTypes.h:143</a></div></div>
432
432
  <div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00155">SVFModule.h:155</a></div></div>
433
433
  <div class="ttc" id="classSVF_1_1MemSSA_html_a749df6d6b28dd1bae569989bffeb7746"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a749df6d6b28dd1bae569989bffeb7746">SVF::MemSSA::dumpMSSA</a></div><div class="ttdeci">void dumpMSSA(OutStream &amp;Out=SVFUtil::outs())</div><div class="ttdoc">Print Memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00595">MemSSA.cpp:595</a></div></div>
434
434
  <div class="ttc" id="classSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00315">MemSSA.h:315</a></div></div>
435
435
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
436
436
  <div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
437
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00072">LLVMUtil.h:72</a></div></div>
437
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00358">SVFUtil.h:358</a></div></div>
438
438
  </div><!-- fragment -->
439
439
  </div>
440
440
  </div>
@@ -1447,7 +1447,7 @@ Additional Inherited Members</h2></td></tr>
1447
1447
 
1448
1448
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00047">47</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
1449
1449
  <div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;{</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVFG::buildSVFG</a>();</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">&quot;SVFG_before_opt&quot;</span>);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;\tSVFG Optimisation\n&quot;</span>));</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a7e57ca56a587a5b59543b5bab7fe794d">keepActualOutFormalIn</a> = <a class="code" href="classSVF_1_1Options.html#acd687c31bb6662940ab8a1c3d17dc1ef">Options::KeepAOFI</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#acb80953b39ce247679242df4f042ab79">sfvgOptStart</a>();</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a4c698184cc23730fb44904d4048958da">handleInterValueFlow</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a21429d8c3fba209d9cdc22e3623c5573">handleIntraValueFlow</a>();</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFGStat.html#aaec3a7f29b3ded0c971d57376d2779ff">sfvgOptEnd</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00573">SVFG.cpp:573</a></div></div>
1450
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
1450
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00100">SVFUtil.cpp:100</a></div></div>
1451
1451
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a7e57ca56a587a5b59543b5bab7fe794d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a7e57ca56a587a5b59543b5bab7fe794d">SVF::SVFGOPT::keepActualOutFormalIn</a></div><div class="ttdeci">bool keepActualOutFormalIn</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00355">SVFGOPT.h:355</a></div></div>
1452
1452
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_a21429d8c3fba209d9cdc22e3623c5573"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a21429d8c3fba209d9cdc22e3623c5573">SVF::SVFGOPT::handleIntraValueFlow</a></div><div class="ttdeci">void handleIntraValueFlow()</div><div class="ttdoc">Remove MSSAPHI SVFG nodes. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00393">SVFGOPT.cpp:393</a></div></div>
1453
1453
  <div class="ttc" id="classSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00224">SVFG.cpp:224</a></div></div>
@@ -2198,7 +2198,7 @@ Additional Inherited Members</h2></td></tr>
2198
2198
  <p class="definition">Definition at line <a class="el" href="SVFGOPT_8cpp_source.html#l00374">374</a> of file <a class="el" href="SVFGOPT_8cpp_source.html">SVFGOPT.cpp</a>.</p>
2199
2199
  <div class="fragment"><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;{</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; std::string choice = (<a class="code" href="classSVF_1_1Options.html#a3ed96242ac56a05d057ebd11b23cf053">Options::SelfCycle</a>.getValue().empty()) ? <span class="stringliteral">&quot;&quot;</span> : <a class="code" href="classSVF_1_1Options.html#a3ed96242ac56a05d057ebd11b23cf053">Options::SelfCycle</a>.getValue();</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">if</span> (choice.empty() || choice == <a class="code" href="SVFGOPT_8cpp.html#af213fe89264a55a8ff44872905524f2f">KeepAllSelfCycle</a>)</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (choice == <a class="code" href="SVFGOPT_8cpp.html#a88c73f6d9c8ac75497c2e520a7d41935">KeepContextSelfCycle</a>)</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (choice == <a class="code" href="SVFGOPT_8cpp.html#a644ce2ce8b3224e9cd4cfc8480941c6f">KeepNoneSelfCycle</a>)</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a> = <a class="code" href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">keepContextSelfCycle</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">&quot;Unrecognised option. All self cycle edges will be kept.&quot;</span>);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">keepAllSelfCycle</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFGOPT_html_a65bba62d9b62bf2bdbbda69540eeb38d"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#a65bba62d9b62bf2bdbbda69540eeb38d">SVF::SVFGOPT::keepAllSelfCycle</a></div><div class="ttdeci">bool keepAllSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00356">SVFGOPT.h:356</a></div></div>
2200
2200
  <div class="ttc" id="classSVF_1_1Options_html_a3ed96242ac56a05d057ebd11b23cf053"><div class="ttname"><a href="classSVF_1_1Options.html#a3ed96242ac56a05d057ebd11b23cf053">SVF::Options::SelfCycle</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std::string &gt; SelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00118">Options.h:118</a></div></div>
2201
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
2201
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00068">SVFUtil.cpp:68</a></div></div>
2202
2202
  <div class="ttc" id="classSVF_1_1SVFGOPT_html_ac68a53c567929ba8b69c00e3e8d9d30f"><div class="ttname"><a href="classSVF_1_1SVFGOPT.html#ac68a53c567929ba8b69c00e3e8d9d30f">SVF::SVFGOPT::keepContextSelfCycle</a></div><div class="ttdeci">bool keepContextSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8h_source.html#l00357">SVFGOPT.h:357</a></div></div>
2203
2203
  <div class="ttc" id="SVFGOPT_8cpp_html_af213fe89264a55a8ff44872905524f2f"><div class="ttname"><a href="SVFGOPT_8cpp.html#af213fe89264a55a8ff44872905524f2f">KeepAllSelfCycle</a></div><div class="ttdeci">static std::string KeepAllSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00042">SVFGOPT.cpp:42</a></div></div>
2204
2204
  <div class="ttc" id="SVFGOPT_8cpp_html_a644ce2ce8b3224e9cd4cfc8480941c6f"><div class="ttname"><a href="SVFGOPT_8cpp.html#a644ce2ce8b3224e9cd4cfc8480941c6f">KeepNoneSelfCycle</a></div><div class="ttdeci">static std::string KeepNoneSelfCycle</div><div class="ttdef"><b>Definition:</b> <a href="SVFGOPT_8cpp_source.html#l00044">SVFGOPT.cpp:44</a></div></div>
@@ -125,7 +125,7 @@ Additional Inherited Members</h2></td></tr>
125
125
  </table>
126
126
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
127
127
  <div class="textblock">
128
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00183">183</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
128
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00182">182</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
129
129
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
130
130
  <a id="a2ede551556d5ffb78c6ec46cde998717"></a>
131
131
  <h2 class="memtitle"><span class="permalink"><a href="#a2ede551556d5ffb78c6ec46cde998717">&#9670;&nbsp;</a></span>SVFGlobal()</h2>
@@ -151,8 +151,8 @@ Additional Inherited Members</h2></td></tr>
151
151
  </table>
152
152
  </div><div class="memdoc">
153
153
 
154
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00187">187</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
- <div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFValue::SVFGlob</a>)</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_ac42927fed1c213852daceb902478d9c8"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const std::string &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00223">SVFBasicTypes.h:223</a></div></div>
154
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00186">186</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
+ <div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFValue::SVFGlob</a>)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_ac42927fed1c213852daceb902478d9c8"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const std::string &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00223">SVFBasicTypes.h:223</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVF::SVFValue::SVFGlob</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00213">SVFBasicTypes.h:213</a></div></div>
157
157
  </div><!-- fragment -->
158
158
  </div>