svf-tools 1.0.532 → 1.0.535

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 (376) 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.html +1 -2
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +9 -11
  5. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -3
  6. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  7. package/SVF-doxygen/html/html/Andersen_8h_source.html +7 -8
  8. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  9. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +6 -6
  11. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  13. package/SVF-doxygen/html/html/CHG_8cpp_source.html +7 -7
  14. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +8 -8
  16. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/html/ConsG_8h_source.html +4 -4
  19. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
  28. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +5 -5
  29. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +45 -38
  30. package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -0
  31. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +80 -69
  32. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  34. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp.html +1 -2
  36. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +12 -14
  37. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
  42. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  44. package/SVF-doxygen/html/html/ICFG_8cpp.html +0 -1
  45. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +42 -43
  46. package/SVF-doxygen/html/html/ICFG_8h_source.html +18 -18
  47. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/IRGraph_8h_source.html +17 -17
  50. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +10 -1
  51. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +10 -10
  52. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +30 -26
  53. package/SVF-doxygen/html/html/LLVMUtil_8h.html +14 -14
  54. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +36 -34
  55. package/SVF-doxygen/html/html/LeakChecker_8cpp.html +0 -1
  56. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +11 -13
  57. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +8 -8
  58. package/SVF-doxygen/html/html/LocationSet_8cpp.html +0 -1
  59. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +13 -15
  60. package/SVF-doxygen/html/html/LocationSet_8h_source.html +9 -9
  61. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +27 -25
  62. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +19 -19
  63. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
  64. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  65. package/SVF-doxygen/html/html/MHP_8h_source.html +41 -38
  66. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
  68. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  69. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +4 -4
  70. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  72. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/MemRegion_8cpp.html +0 -1
  74. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +42 -44
  75. package/SVF-doxygen/html/html/MemSSA_8cpp.html +0 -1
  76. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +32 -34
  77. package/SVF-doxygen/html/html/MemSSA_8h_source.html +19 -19
  78. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  79. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  80. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +19 -19
  82. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  83. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  84. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +0 -1
  85. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +36 -38
  86. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +28 -28
  87. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  88. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +6 -6
  90. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  92. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  93. package/SVF-doxygen/html/html/SVFG_8h_source.html +4 -4
  94. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +46 -52
  95. package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +0 -1
  96. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +80 -82
  97. package/SVF-doxygen/html/html/SVFIR_8cpp.html +0 -1
  98. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +42 -43
  99. package/SVF-doxygen/html/html/SVFIR_8h_source.html +47 -47
  100. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  101. package/SVF-doxygen/html/html/SVFModule_8h_source.html +63 -26
  102. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
  103. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  104. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -6
  105. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp.html +0 -1
  106. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +33 -32
  107. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +26 -26
  108. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  109. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  110. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +70 -58
  111. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +17 -16
  112. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp.html +0 -1
  113. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +100 -93
  114. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +128 -120
  115. package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -3
  116. package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
  117. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +4 -4
  118. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +3 -3
  119. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  120. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  121. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +49 -36
  122. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  123. package/SVF-doxygen/html/html/VFG_8h_source.html +4 -4
  124. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  125. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
  126. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +6 -6
  127. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  128. package/SVF-doxygen/html/html/WPASolver_8h_source.html +17 -18
  129. package/SVF-doxygen/html/html/WPAStat_8h_source.html +5 -5
  130. package/SVF-doxygen/html/html/annotated.html +2 -1
  131. package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
  132. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +20 -21
  135. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +175 -176
  136. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +8 -10
  137. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +12 -11
  138. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -6
  139. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +16 -16
  140. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +9 -9
  141. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +160 -208
  142. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
  143. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +14 -14
  145. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +11 -11
  146. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +5 -5
  147. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -2
  148. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  149. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  151. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +5 -5
  152. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +6 -6
  154. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +2 -2
  155. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +2 -2
  159. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
  160. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +5 -5
  161. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +19 -17
  162. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +232 -143
  163. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation-members.html +88 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +344 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +240 -241
  166. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -4
  167. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -4
  168. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +230 -231
  169. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +11 -13
  170. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +27 -27
  171. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +140 -138
  172. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +5 -5
  173. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +6 -7
  174. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +4 -4
  176. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +51 -51
  179. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -22
  180. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +2 -2
  181. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +5 -5
  182. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +17 -17
  184. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -2
  185. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
  187. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -38
  188. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +23 -23
  189. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +28 -28
  190. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +75 -72
  191. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  192. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +8 -8
  193. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +111 -111
  194. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  195. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
  196. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +11 -11
  197. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +4 -4
  198. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
  199. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +91 -91
  200. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +64 -66
  201. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +7 -7
  202. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  203. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +11 -11
  205. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +10 -10
  206. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +20 -20
  207. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +69 -69
  208. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
  209. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  210. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  214. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +32 -19
  215. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +428 -18
  216. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
  217. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +6 -6
  218. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  220. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +106 -106
  221. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +63 -64
  222. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +395 -437
  223. package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +42 -14
  224. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +972 -104
  225. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +86 -83
  227. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  229. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +38 -38
  230. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +187 -188
  231. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +12 -11
  233. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +159 -108
  234. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +63 -58
  235. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +437 -225
  236. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +7 -7
  237. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  238. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  239. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +179 -180
  240. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +5 -7
  241. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +8 -8
  242. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +281 -282
  243. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +8 -10
  244. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +5 -5
  245. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +31 -32
  246. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +1 -3
  247. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +42 -43
  248. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +6 -8
  249. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
  250. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +38 -39
  251. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +8 -10
  252. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +29 -30
  253. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +51 -86
  254. package/SVF-doxygen/html/html/classes.html +90 -90
  255. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  256. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  257. package/SVF-doxygen/html/html/functions_a.html +43 -10
  258. package/SVF-doxygen/html/html/functions_b.html +14 -5
  259. package/SVF-doxygen/html/html/functions_c.html +11 -11
  260. package/SVF-doxygen/html/html/functions_e.html +6 -6
  261. package/SVF-doxygen/html/html/functions_eval_e.html +2 -5
  262. package/SVF-doxygen/html/html/functions_f.html +3 -3
  263. package/SVF-doxygen/html/html/functions_func.html +33 -6
  264. package/SVF-doxygen/html/html/functions_func_c.html +7 -5
  265. package/SVF-doxygen/html/html/functions_func_g.html +66 -6
  266. package/SVF-doxygen/html/html/functions_func_i.html +22 -7
  267. package/SVF-doxygen/html/html/functions_func_m.html +0 -1
  268. package/SVF-doxygen/html/html/functions_func_o.html +7 -4
  269. package/SVF-doxygen/html/html/functions_func_s.html +30 -12
  270. package/SVF-doxygen/html/html/functions_g.html +69 -9
  271. package/SVF-doxygen/html/html/functions_i.html +32 -11
  272. package/SVF-doxygen/html/html/functions_m.html +1 -2
  273. package/SVF-doxygen/html/html/functions_n.html +5 -5
  274. package/SVF-doxygen/html/html/functions_o.html +24 -22
  275. package/SVF-doxygen/html/html/functions_p.html +11 -5
  276. package/SVF-doxygen/html/html/functions_r.html +9 -3
  277. package/SVF-doxygen/html/html/functions_s.html +37 -21
  278. package/SVF-doxygen/html/html/functions_t.html +3 -3
  279. package/SVF-doxygen/html/html/functions_v.html +3 -3
  280. package/SVF-doxygen/html/html/functions_vars_a.html +6 -0
  281. package/SVF-doxygen/html/html/functions_vars_b.html +10 -1
  282. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  283. package/SVF-doxygen/html/html/functions_vars_i.html +6 -0
  284. package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
  285. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  286. package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
  287. package/SVF-doxygen/html/html/functions_vars_r.html +6 -0
  288. package/SVF-doxygen/html/html/functions_w.html +11 -11
  289. package/SVF-doxygen/html/html/hierarchy.html +99 -98
  290. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  291. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  292. package/SVF-doxygen/html/html/namespaceSVF.html +4 -4
  293. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +158 -157
  294. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +11 -11
  295. package/SVF-doxygen/html/html/namespacemembers.html +0 -3
  296. package/SVF-doxygen/html/html/namespacemembers_func.html +14 -14
  297. package/SVF-doxygen/html/html/namespacemembers_g.html +2 -2
  298. package/SVF-doxygen/html/html/namespacemembers_i.html +11 -8
  299. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  300. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  301. package/SVF-doxygen/html/html/search/all_1.js +12 -2
  302. package/SVF-doxygen/html/html/search/all_10.js +7 -5
  303. package/SVF-doxygen/html/html/search/all_11.js +2 -0
  304. package/SVF-doxygen/html/html/search/all_12.js +15 -9
  305. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  306. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  307. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  308. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  309. package/SVF-doxygen/html/html/search/all_2.js +4 -1
  310. package/SVF-doxygen/html/html/search/all_3.js +3 -2
  311. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  312. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  313. package/SVF-doxygen/html/html/search/all_7.js +23 -7
  314. package/SVF-doxygen/html/html/search/all_9.js +7 -3
  315. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  316. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  317. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  318. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  319. package/SVF-doxygen/html/html/search/all_f.js +4 -3
  320. package/SVF-doxygen/html/html/search/classes_c.js +1 -0
  321. package/SVF-doxygen/html/html/search/enumvalues_4.js +1 -2
  322. package/SVF-doxygen/html/html/search/functions_0.js +10 -2
  323. package/SVF-doxygen/html/html/search/functions_11.js +8 -2
  324. package/SVF-doxygen/html/html/search/functions_2.js +2 -1
  325. package/SVF-doxygen/html/html/search/functions_6.js +23 -7
  326. package/SVF-doxygen/html/html/search/functions_8.js +5 -3
  327. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  328. package/SVF-doxygen/html/html/search/functions_e.js +1 -0
  329. package/SVF-doxygen/html/html/search/variables_1.js +2 -0
  330. package/SVF-doxygen/html/html/search/variables_10.js +2 -0
  331. package/SVF-doxygen/html/html/search/variables_11.js +2 -0
  332. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  333. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  334. package/SVF-doxygen/html/html/search/variables_2.js +4 -1
  335. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  336. package/SVF-doxygen/html/html/search/variables_9.js +2 -0
  337. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  338. package/SVF-doxygen/html/html/search/variables_e.js +4 -4
  339. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  340. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  341. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  342. package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -3
  343. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  344. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  345. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  346. package/include/MTA/MHP.h +2 -1
  347. package/include/MemoryModel/SymbolTableInfo.h +7 -2
  348. package/include/SVF-FE/LLVMUtil.h +9 -7
  349. package/include/SVF-FE/SVFIRBuilder.h +0 -2
  350. package/include/SVF-FE/SymbolTableBuilder.h +2 -0
  351. package/include/Util/BasicTypes.h +52 -2
  352. package/include/Util/DPItem.h +1 -1
  353. package/include/Util/ExtAPI.h +49 -5
  354. package/include/Util/ExtAPI.json +1312 -320
  355. package/include/Util/SVFModule.h +132 -4
  356. package/include/WPA/Andersen.h +1 -4
  357. package/include/WPA/WPASolver.h +1 -3
  358. package/lib/Graphs/ICFG.cpp +2 -3
  359. package/lib/MSSA/MemRegion.cpp +1 -3
  360. package/lib/MSSA/MemSSA.cpp +4 -8
  361. package/lib/MTA/LockAnalysis.cpp +2 -1
  362. package/lib/MemoryModel/LocationSet.cpp +2 -4
  363. package/lib/MemoryModel/PointerAnalysis.cpp +1 -4
  364. package/lib/MemoryModel/SVFIR.cpp +1 -2
  365. package/lib/MemoryModel/SymbolTableInfo.cpp +73 -5
  366. package/lib/SABER/LeakChecker.cpp +2 -4
  367. package/lib/SABER/SaberCondAllocator.cpp +9 -10
  368. package/lib/SVF-FE/LLVMModule.cpp +20 -1
  369. package/lib/SVF-FE/LLVMUtil.cpp +17 -8
  370. package/lib/SVF-FE/SVFIRBuilder.cpp +219 -238
  371. package/lib/SVF-FE/SymbolTableBuilder.cpp +66 -2
  372. package/lib/Util/ExtAPI.cpp +109 -0
  373. package/lib/WPA/AndersenStat.cpp +1 -3
  374. package/lib/WPA/AndersenWaveDiff.cpp +0 -14
  375. package/lib/WPA/FlowSensitiveStat.cpp +1 -3
  376. package/package.json +1 -1
@@ -559,10 +559,8 @@ Additional Inherited Members</h2></td></tr>
559
559
  <tr class="memitem:abd7fd785e70f66d394088101d78598ca inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">processNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
560
560
  <tr class="memdesc:abd7fd785e70f66d394088101d78598ca inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Following methods are to be implemented in child class, in order to achieve a fully worked PTA. <a href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">More...</a><br /></td></tr>
561
561
  <tr class="separator:abd7fd785e70f66d394088101d78598ca inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
562
- <tr class="memitem:a138b403af0370ad6fdf8cc6af0530392 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a138b403af0370ad6fdf8cc6af0530392">collapsePWCNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>)</td></tr>
563
- <tr class="memdesc:a138b403af0370ad6fdf8cc6af0530392 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">collapse positive weight cycles of a graph <a href="classSVF_1_1WPASolver.html#a138b403af0370ad6fdf8cc6af0530392">More...</a><br /></td></tr>
564
- <tr class="separator:a138b403af0370ad6fdf8cc6af0530392 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
565
562
  <tr class="memitem:a79c2b3f10f3f813396d8caaa1f7bc62a inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">collapseFields</a> ()</td></tr>
563
+ <tr class="memdesc:a79c2b3f10f3f813396d8caaa1f7bc62a inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">collapse positive weight cycles of a graph <a href="classSVF_1_1WPASolver.html#a79c2b3f10f3f813396d8caaa1f7bc62a">More...</a><br /></td></tr>
566
564
  <tr class="separator:a79c2b3f10f3f813396d8caaa1f7bc62a inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
567
565
  <tr class="memitem:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a541ef7fda44ce79086c30b07a5f6126c">propagate</a> (<a class="el" href="classSVF_1_1WPASolver.html#a2b0c0c4d1f172e8eeae0230fa09f365e">GNODE</a> *v)</td></tr>
568
566
  <tr class="separator:a541ef7fda44ce79086c30b07a5f6126c inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -805,7 +803,7 @@ Additional Inherited Members</h2></td></tr>
805
803
 
806
804
  <p class="definition">Definition at line <a class="el" href="TypeAnalysis_8cpp_source.html#l00078">78</a> of file <a class="el" href="TypeAnalysis_8cpp_source.html">TypeAnalysis.cpp</a>.</p>
807
805
  <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">for</span>(CallSiteToFunPtrMap::const_iterator iter = callsites.begin(), eiter = callsites.end(); iter!=eiter; ++iter)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = iter-&gt;first;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cbn-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">isVirtualCallSite</a>(cs))</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d">virtualCallSites</a>.insert(cs);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *vtbl = <a class="code" href="namespaceSVF_1_1cppUtil.html#a3b00cc9770022f124958513bf1e52a05">getVCallVtblPtr</a>(cs);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; assert(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">hasValueNode</a>(vtbl));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">VFunSet</a> vfns;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">getVFnsFromCHA</a>(cbn, vfns);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">connectVCallToVFns</a>(cbn, vfns, newEdges);</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="l00094"></a><span class="lineno"> 94</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1cppUtil_html_aca6465c72effcaddeb34f55da4555754"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00260">CPPUtil.cpp:260</a></div></div>
808
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade41f3562704d56c7490dcfc941b3437"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">SVF::PointerAnalysis::getVFnsFromCHA</a></div><div class="ttdeci">void getVFnsFromCHA(const CallICFGNode *cs, VFunSet &amp;vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00461">PointerAnalysis.cpp:461</a></div></div>
806
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade41f3562704d56c7490dcfc941b3437"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">SVF::PointerAnalysis::getVFnsFromCHA</a></div><div class="ttdeci">void getVFnsFromCHA(const CallICFGNode *cs, VFunSet &amp;vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00458">PointerAnalysis.cpp:458</a></div></div>
809
807
  <div class="ttc" id="classSVF_1_1TypeAnalysis_html_aa7fb5d1cd8e42058120758a990ed471d"><div class="ttname"><a href="classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d">SVF::TypeAnalysis::virtualCallSites</a></div><div class="ttdeci">Set&lt; CallSite &gt; virtualCallSites</div><div class="ttdef"><b>Definition:</b> <a href="TypeAnalysis_8h_source.html#l00081">TypeAnalysis.h:81</a></div></div>
810
808
  <div class="ttc" id="namespaceSVF_html_ad2b487757f1e1a1d81073120fc1d49c7"><div class="ttname"><a href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">SVF::VFunSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00047">CHG.h:47</a></div></div>
811
809
  <div class="ttc" id="classSVF_1_1IRGraph_html_aceb17dfbe137658625e16291127267d1"><div class="ttname"><a href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">SVF::IRGraph::hasValueNode</a></div><div class="ttdeci">bool hasValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00128">IRGraph.h:128</a></div></div>
@@ -813,9 +811,9 @@ Additional Inherited Members</h2></td></tr>
813
811
  <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>
814
812
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
815
813
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00217">SVFUtil.h:217</a></div></div>
816
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00201">BasicTypes.h:201</a></div></div>
814
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00251">BasicTypes.h:251</a></div></div>
817
815
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
818
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6a5dec067fa2a1babc83f36daa8afcc3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">SVF::PointerAnalysis::connectVCallToVFns</a></div><div class="ttdeci">void connectVCallToVFns(const CallICFGNode *cs, const VFunSet &amp;vfns, CallEdgeMap &amp;newEdges)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00496">PointerAnalysis.cpp:496</a></div></div>
816
+ <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6a5dec067fa2a1babc83f36daa8afcc3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">SVF::PointerAnalysis::connectVCallToVFns</a></div><div class="ttdeci">void connectVCallToVFns(const CallICFGNode *cs, const VFunSet &amp;vfns, CallEdgeMap &amp;newEdges)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00493">PointerAnalysis.cpp:493</a></div></div>
819
817
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
820
818
  </div><!-- fragment -->
821
819
  </div>
@@ -985,7 +983,7 @@ Additional Inherited Members</h2></td></tr>
985
983
  <div class="ttc" id="classSVF_1_1ICFGStat_html"><div class="ttname"><a href="classSVF_1_1ICFGStat.html">SVF::ICFGStat</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGStat_8h_source.html#l00039">ICFGStat.h:39</a></div></div>
986
984
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
987
985
  <div class="ttc" id="classSVF_1_1PTAStat_html_acfed70588cf921694db35990ec3c7497"><div class="ttname"><a href="classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497">SVF::PTAStat::performStat</a></div><div class="ttdeci">virtual void performStat()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00133">PTAStat.cpp:133</a></div></div>
988
- <div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::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="ICFG_8cpp_source.html#l00442">ICFG.cpp:442</a></div></div>
986
+ <div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::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="ICFG_8cpp_source.html#l00441">ICFG.cpp:441</a></div></div>
989
987
  <div class="ttc" id="classSVF_1_1Options_html_aea29a835c54fab800117e57de00e0b1e"><div class="ttname"><a href="classSVF_1_1Options.html#aea29a835c54fab800117e57de00e0b1e">SVF::Options::DumpICFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpICFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
990
988
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a3550ea3f087ec557a6fe076bc443b05d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">SVF::PointerAnalysis::print_stat</a></div><div class="ttdeci">bool print_stat</div><div class="ttdoc">User input flags. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00134">PointerAnalysis.h:134</a></div></div>
991
989
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
@@ -1013,7 +1013,7 @@ Additional Inherited Members</h2></td></tr>
1013
1013
 
1014
1014
  <p class="definition">Definition at line <a class="el" href="VFG_8h_source.html#l00529">529</a> of file <a class="el" href="VFG_8h_source.html">VFG.h</a>.</p>
1015
1015
  <div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; ActualParmVFGNode* sNode = <span class="keyword">new</span> ActualParmVFGNode(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++,aparm,cs);</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">getCallICFGNode</a>(cs-&gt;getCallSite()));</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a8b256a40e690f31b7a56308d55bad45a">PAGNodeToActualParmMap</a>[std::make_pair(aparm-&gt;getId(),cs)] = sNode;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFG_html_a8b256a40e690f31b7a56308d55bad45a"><div class="ttname"><a href="classSVF_1_1VFG.html#a8b256a40e690f31b7a56308d55bad45a">SVF::VFG::PAGNodeToActualParmMap</a></div><div class="ttdeci">PAGNodeToActualParmMapTy PAGNodeToActualParmMap</div><div class="ttdoc">map a PAGNode to an actual parameter </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00090">VFG.h:90</a></div></div>
1016
- <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00240">ICFG.cpp:240</a></div></div>
1016
+ <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00239">ICFG.cpp:239</a></div></div>
1017
1017
  <div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
1018
1018
  <div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
1019
1019
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
@@ -1058,7 +1058,7 @@ Additional Inherited Members</h2></td></tr>
1058
1058
  <p>Add a callsite Receive <a class="el" href="classSVF_1_1VFG.html">VFG</a> node. </p>
1059
1059
 
1060
1060
  <p class="definition">Definition at line <a class="el" href="VFG_8h_source.html#l00570">570</a> of file <a class="el" href="VFG_8h_source.html">VFG.h</a>.</p>
1061
- <div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; ActualRetVFGNode* sNode = <span class="keyword">new</span> ActualRetVFGNode(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++,ret,cs);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-&gt;getCallSite()));</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">setDef</a>(ret,sNode);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a28c5f7e331a437e09682b972769acf66">PAGNodeToActualRetMap</a>[ret] = sNode;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div><div class="ttc" id="classSVF_1_1ICFG_html_a66cb50d8c176f800f06d9cb8924eb896"><div class="ttname"><a href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00253">ICFG.cpp:253</a></div></div>
1061
+ <div class="fragment"><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; ActualRetVFGNode* sNode = <span class="keyword">new</span> ActualRetVFGNode(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++,ret,cs);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(cs-&gt;getCallSite()));</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">setDef</a>(ret,sNode);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a28c5f7e331a437e09682b972769acf66">PAGNodeToActualRetMap</a>[ret] = sNode;</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; }</div><div class="ttc" id="classSVF_1_1ICFG_html_a66cb50d8c176f800f06d9cb8924eb896"><div class="ttname"><a href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00252">ICFG.cpp:252</a></div></div>
1062
1062
  <div class="ttc" id="classSVF_1_1VFG_html_a28c5f7e331a437e09682b972769acf66"><div class="ttname"><a href="classSVF_1_1VFG.html#a28c5f7e331a437e09682b972769acf66">SVF::VFG::PAGNodeToActualRetMap</a></div><div class="ttdeci">PAGNodeToActualRetMapTy PAGNodeToActualRetMap</div><div class="ttdoc">map a PAGNode to an actual return </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00091">VFG.h:91</a></div></div>
1063
1063
  <div class="ttc" id="classSVF_1_1VFG_html_a1e0b8c7df55e05739775e8a1c50cf660"><div class="ttname"><a href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">SVF::VFG::setDef</a></div><div class="ttdeci">void setDef(const PAGNode *pagNode, const VFGNode *node)</div><div class="ttdoc">Given a PAGNode, set/get its def VFG node (definition of top level pointers) </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00406">VFG.h:406</a></div></div>
1064
1064
  <div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
@@ -1330,7 +1330,7 @@ Additional Inherited Members</h2></td></tr>
1330
1330
  <div class="ttc" id="classSVF_1_1VFG_html_a1e0b8c7df55e05739775e8a1c50cf660"><div class="ttname"><a href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">SVF::VFG::setDef</a></div><div class="ttdeci">void setDef(const PAGNode *pagNode, const VFGNode *node)</div><div class="ttdoc">Given a PAGNode, set/get its def VFG node (definition of top level pointers) </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00406">VFG.h:406</a></div></div>
1331
1331
  <div class="ttc" id="classSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
1332
1332
  <div class="ttc" id="classSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
1333
- <div class="ttc" id="classSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00273">ICFG.cpp:273</a></div></div>
1333
+ <div class="ttc" id="classSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00272">ICFG.cpp:272</a></div></div>
1334
1334
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
1335
1335
  <div class="ttc" id="classSVF_1_1VFG_html_ad8c76cdb73541eed5aa1c2ba9de60383"><div class="ttname"><a href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">SVF::VFG::addVFGNode</a></div><div class="ttdeci">virtual void addVFGNode(VFGNode *vfgNode, ICFGNode *icfgNode)</div><div class="ttdoc">Add a VFG node. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00463">VFG.h:463</a></div></div>
1336
1336
  </div><!-- fragment -->
@@ -1379,7 +1379,7 @@ Additional Inherited Members</h2></td></tr>
1379
1379
  <p>if this uniqueFunRet is a phi node, which means it will receive values from multiple return instructions of fun we will set this phi node's def later Ideally, every function uniqueFunRet should be a PhiNode (<a class="el" href="SVFIRBuilder_8cpp.html">SVFIRBuilder.cpp</a>), unless it does not have ret instruction </p>
1380
1380
 
1381
1381
  <p class="definition">Definition at line <a class="el" href="VFG_8h_source.html#l00551">551</a> of file <a class="el" href="VFG_8h_source.html">VFG.h</a>.</p>
1382
- <div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; FormalRetVFGNode *sNode = <span class="keyword">new</span> FormalRetVFGNode(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++, uniqueFunRet, fun);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">getFunExitICFGNode</a>(fun));</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">for</span> (RetPESet::const_iterator it = retPEs.begin(), eit = retPEs.end(); it != eit; ++it)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; sNode-&gt;addRetPE(*it);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a190a59a119215dbb2556735ba3213a2a">PAGNodeToFormalRetMap</a>[uniqueFunRet] = sNode;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">isPhiNode</a>(uniqueFunRet))</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> warn = fun-&gt;getName();</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVFUtil::writeWrnMsg</a>(warn + <span class="stringliteral">&quot; does not have any ret instruction!&quot;</span>);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">setDef</a>(uniqueFunRet, sNode);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; }</div><div class="ttc" id="classSVF_1_1ICFG_html_af1b2d2839f811a00103df87342dfc919"><div class="ttname"><a href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00282">ICFG.cpp:282</a></div></div>
1382
+ <div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; FormalRetVFGNode *sNode = <span class="keyword">new</span> FormalRetVFGNode(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++, uniqueFunRet, fun);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">getFunExitICFGNode</a>(fun));</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">for</span> (RetPESet::const_iterator it = retPEs.begin(), eit = retPEs.end(); it != eit; ++it)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; sNode-&gt;addRetPE(*it);</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a190a59a119215dbb2556735ba3213a2a">PAGNodeToFormalRetMap</a>[uniqueFunRet] = sNode;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">isPhiNode</a>(uniqueFunRet))</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> warn = fun-&gt;getName();</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVFUtil::writeWrnMsg</a>(warn + <span class="stringliteral">&quot; does not have any ret instruction!&quot;</span>);</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">setDef</a>(uniqueFunRet, sNode);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; }</div><div class="ttc" id="classSVF_1_1ICFG_html_af1b2d2839f811a00103df87342dfc919"><div class="ttname"><a href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00281">ICFG.cpp:281</a></div></div>
1383
1383
  <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#l00067">SVFUtil.cpp:67</a></div></div>
1384
1384
  <div class="ttc" id="classSVF_1_1SVFIR_html_a5de67390d38bfacd5b63b776a0ecbfff"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5de67390d38bfacd5b63b776a0ecbfff">SVF::SVFIR::isPhiNode</a></div><div class="ttdeci">bool isPhiNode(const SVFVar *node) const</div><div class="ttdoc">Whether this SVFVar is a result operand a of phi node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00209">SVFIR.h:209</a></div></div>
1385
1385
  <div class="ttc" id="classSVF_1_1VFG_html_a1e0b8c7df55e05739775e8a1c50cf660"><div class="ttname"><a href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">SVF::VFG::setDef</a></div><div class="ttdeci">void setDef(const PAGNode *pagNode, const VFGNode *node)</div><div class="ttdoc">Given a PAGNode, set/get its def VFG node (definition of top level pointers) </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00406">VFG.h:406</a></div></div>
@@ -2099,7 +2099,7 @@ Additional Inherited Members</h2></td></tr>
2099
2099
  <div class="ttc" id="classSVF_1_1VFG_html_a373e7066630719ffb7c62681f2c2a74e"><div class="ttname"><a href="classSVF_1_1VFG.html#a373e7066630719ffb7c62681f2c2a74e">SVF::VFG::addLoadVFGNode</a></div><div class="ttdeci">void addLoadVFGNode(const LoadStmt *load)</div><div class="ttdoc">Add a Load VFG node. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00512">VFG.h:512</a></div></div>
2100
2100
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">SVF::SVFStmt::Select</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
2101
2101
  <div class="ttc" id="classSVF_1_1SVFIR_html_a650b3931af337a92ffcb5dad5ab47b22"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a650b3931af337a92ffcb5dad5ab47b22">SVF::SVFIR::getCallSiteRets</a></div><div class="ttdeci">CSToRetMap &amp; getCallSiteRets()</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00249">SVFIR.h:249</a></div></div>
2102
- <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#l00142">BasicTypes.h:142</a></div></div>
2102
+ <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#l00152">BasicTypes.h:152</a></div></div>
2103
2103
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
2104
2104
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">SVF::SVFStmt::BinaryOp</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
2105
2105
  <div class="ttc" id="classSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00789">SVFStatements.h:789</a></div></div>
@@ -2275,7 +2275,7 @@ Additional Inherited Members</h2></td></tr>
2275
2275
  <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>
2276
2276
  <div class="ttc" id="classSVF_1_1IRGraph_html_a8b10c318674a47035d617b3ade4f069b"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a8b10c318674a47035d617b3ade4f069b">SVF::IRGraph::getVarargNode</a></div><div class="ttdeci">NodeID getVarargNode(const SVFFunction *func) const</div><div class="ttdoc">getVarargNode - Return the unique node representing the variadic argument of a variadic function...</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00144">IRGraph.h:144</a></div></div>
2277
2277
  <div class="ttc" id="classSVF_1_1VFG_html_a5f82b3c2e8e6412e2781b960ffa98387"><div class="ttname"><a href="classSVF_1_1VFG.html#a5f82b3c2e8e6412e2781b960ffa98387">SVF::VFG::getCallSiteID</a></div><div class="ttdeci">CallSiteID getCallSiteID(const CallICFGNode *cs, const SVFFunction *func) const</div><div class="ttdoc">Get callsite given a callsiteID. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00178">VFG.h:178</a></div></div>
2278
- <div class="ttc" id="classSVF_1_1ICFG_html_a66cb50d8c176f800f06d9cb8924eb896"><div class="ttname"><a href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00253">ICFG.cpp:253</a></div></div>
2278
+ <div class="ttc" id="classSVF_1_1ICFG_html_a66cb50d8c176f800f06d9cb8924eb896"><div class="ttname"><a href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00252">ICFG.cpp:252</a></div></div>
2279
2279
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
2280
2280
  <div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00106">SVFIR.h:106</a></div></div>
2281
2281
  <div class="ttc" id="classSVF_1_1SVFIR_html_a95f77211550ec2374d57779d88cf5138"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a95f77211550ec2374d57779d88cf5138">SVF::SVFIR::hasCallSiteArgsMap</a></div><div class="ttdeci">bool hasCallSiteArgsMap(const CallICFGNode *cs) const</div><div class="ttdoc">Callsite has argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00232">SVFIR.h:232</a></div></div>
@@ -2290,7 +2290,7 @@ Additional Inherited Members</h2></td></tr>
2290
2290
  <div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
2291
2291
  <div class="ttc" id="classSVF_1_1SVFIR_html_afe8274c3b7317fccef5314662a182046"><div class="ttname"><a href="classSVF_1_1SVFIR.html#afe8274c3b7317fccef5314662a182046">SVF::SVFIR::funHasRet</a></div><div class="ttdeci">bool funHasRet(const SVFFunction *func) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00276">SVFIR.h:276</a></div></div>
2292
2292
  <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>
2293
- <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#l00142">BasicTypes.h:142</a></div></div>
2293
+ <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#l00152">BasicTypes.h:152</a></div></div>
2294
2294
  <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>
2295
2295
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00391">GenericGraph.h:391</a></div></div>
2296
2296
  <div class="ttc" id="classSVF_1_1SVFIR_html_a3145677c7a3763fc0d6aa7e21b264ab6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetICFGNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00254">SVFIR.h:254</a></div></div>
@@ -2355,7 +2355,7 @@ Additional Inherited Members</h2></td></tr>
2355
2355
  <div class="ttc" id="classSVF_1_1UnaryOPVFGNode_html"><div class="ttname"><a href="classSVF_1_1UnaryOPVFGNode.html">SVF::UnaryOPVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00465">VFGNode.h:465</a></div></div>
2356
2356
  <div class="ttc" id="classSVF_1_1CmpVFGNode_html"><div class="ttname"><a href="classSVF_1_1CmpVFGNode.html">SVF::CmpVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00324">VFGNode.h:324</a></div></div>
2357
2357
  <div class="ttc" id="classSVF_1_1RetPE_html_ab03f10c0375846a733f3257736a84f9d"><div class="ttname"><a href="classSVF_1_1RetPE.html#ab03f10c0375846a733f3257736a84f9d">SVF::RetPE::getCallSite</a></div><div class="ttdeci">const CallICFGNode * getCallSite() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00580">SVFStatements.h:580</a></div></div>
2358
- <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00240">ICFG.cpp:240</a></div></div>
2358
+ <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00239">ICFG.cpp:239</a></div></div>
2359
2359
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
2360
2360
  <div class="ttc" id="classSVF_1_1VFG_html_a241d0489bf0315460e2b07db87e7847c"><div class="ttname"><a href="classSVF_1_1VFG.html#a241d0489bf0315460e2b07db87e7847c">SVF::VFG::iterator</a></div><div class="ttdeci">VFGNodeIDToNodeMapTy::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00080">VFG.h:80</a></div></div>
2361
2361
  <div class="ttc" id="classSVF_1_1VFG_html_a0b072e8e45899b89da0a466140563c38"><div class="ttname"><a href="classSVF_1_1VFG.html#a0b072e8e45899b89da0a466140563c38">SVF::VFG::getActualRetVFGNode</a></div><div class="ttdeci">ActualRetVFGNode * getActualRetVFGNode(const PAGNode *aret) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00241">VFG.h:241</a></div></div>