svf-tools 1.0.309 → 1.0.313

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 (418) hide show
  1. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  5. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +6 -6
  6. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +6 -6
  7. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +22 -22
  8. package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
  9. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +5 -5
  10. package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -0
  11. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +59 -57
  12. package/SVF-doxygen/html/html/Andersen_8h_source.html +118 -118
  13. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +6 -6
  14. package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
  15. package/SVF-doxygen/html/html/CHG_8cpp_source.html +54 -55
  16. package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
  17. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +17 -16
  18. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +16 -16
  19. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
  20. package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  22. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +10 -10
  23. package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
  24. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +13 -13
  25. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  26. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +13 -13
  27. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  28. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +10 -10
  29. package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
  30. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
  31. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
  33. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +14 -14
  34. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
  37. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +9 -9
  38. package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +13 -13
  40. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +8 -8
  43. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +5 -5
  44. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +10 -10
  45. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +12 -12
  46. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  47. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -5
  48. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +82 -81
  49. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
  50. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
  51. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  54. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +9 -9
  55. package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -6
  56. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
  57. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
  59. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +5 -5
  61. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -2
  64. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +11 -11
  65. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
  66. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/MHP_8cpp_source.html +19 -19
  68. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
  69. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  73. package/SVF-doxygen/html/html/MTA_8cpp_source.html +10 -10
  74. package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
  75. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +8 -52
  76. package/SVF-doxygen/html/html/MemModel_8h_source.html +44 -44
  77. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +19 -19
  78. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +7 -7
  79. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +3 -3
  80. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  81. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -2
  82. package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
  83. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  84. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +18 -18
  85. package/SVF-doxygen/html/html/PAGBuilder_8h_source.html +1 -1
  86. package/SVF-doxygen/html/html/PAGEdge_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/PAGNode_8h_source.html +10 -10
  88. package/SVF-doxygen/html/html/PAG_8cpp_source.html +35 -35
  89. package/SVF-doxygen/html/html/PAG_8h_source.html +21 -21
  90. package/SVF-doxygen/html/html/PCG_8cpp_source.html +10 -10
  91. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  92. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +9 -9
  93. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
  94. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +24 -24
  95. package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
  96. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -4
  97. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +34 -33
  99. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
  100. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
  101. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
  102. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
  103. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +7 -7
  104. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +5 -5
  105. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +22 -22
  106. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +23 -23
  107. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +6 -6
  108. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  109. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +12 -12
  110. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  111. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +6 -6
  112. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +11 -11
  113. package/SVF-doxygen/html/html/SVFG_8h_source.html +7 -7
  114. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +5 -5
  115. package/SVF-doxygen/html/html/SVFModule_8h.html +3 -0
  116. package/SVF-doxygen/html/html/SVFModule_8h_source.html +53 -46
  117. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  119. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +10 -10
  120. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +9 -9
  121. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  122. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  123. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
  124. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +25 -18
  125. package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -4
  126. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +36 -38
  127. package/SVF-doxygen/html/html/TCT_8cpp_source.html +13 -13
  128. package/SVF-doxygen/html/html/TCT_8h_source.html +10 -10
  129. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  130. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
  131. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
  132. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  133. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +7 -7
  134. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  135. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  136. package/SVF-doxygen/html/html/VFG_8cpp_source.html +8 -8
  137. package/SVF-doxygen/html/html/VFG_8h_source.html +7 -7
  138. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +8 -8
  139. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +12 -12
  140. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +11 -11
  141. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  142. package/SVF-doxygen/html/html/annotated.html +134 -136
  143. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  145. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  148. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +231 -231
  153. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +62 -60
  155. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +43 -43
  157. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +23 -23
  159. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +54 -54
  161. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +42 -42
  163. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +17 -17
  165. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +32 -32
  166. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +40 -40
  168. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +31 -31
  170. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +73 -72
  172. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +132 -129
  176. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  178. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjPN.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjPN.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjPN.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  185. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
  186. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  187. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +25 -25
  188. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +22 -22
  193. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +6 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  195. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
  196. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +27 -27
  197. package/SVF-doxygen/html/html/classSVF_1_1DummyObjPN.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1DummyValPN.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +8 -8
  200. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +20 -20
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +55 -55
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +25 -25
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +37 -37
  206. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +9 -9
  207. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  209. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
  210. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +2 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
  214. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +47 -47
  215. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
  216. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +4 -4
  217. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +1 -1
  221. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +15 -15
  222. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  223. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
  225. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
  227. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  228. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +2 -2
  230. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  231. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +18 -18
  233. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  234. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1LocObjTypeInfo.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +2 -2
  238. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +33 -33
  240. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +31 -31
  242. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +28 -28
  243. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +12 -12
  246. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +7 -7
  247. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +5 -5
  248. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +29 -29
  249. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  250. package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +7 -10
  251. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +92 -199
  252. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +18 -18
  253. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
  255. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
  256. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +8 -10
  258. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +67 -167
  259. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +1 -1
  260. package/SVF-doxygen/html/html/classSVF_1_1Options.html +5 -5
  261. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +47 -47
  262. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +58 -58
  263. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  264. package/SVF-doxygen/html/html/classSVF_1_1PAGEdge.html +5 -5
  265. package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +10 -10
  266. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +17 -17
  267. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  268. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +17 -17
  269. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
  270. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +32 -32
  271. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +4 -4
  272. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +6 -6
  273. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +5 -5
  274. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +10 -10
  275. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +39 -38
  276. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +153 -116
  277. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +22 -22
  278. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +5 -5
  279. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  285. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
  286. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  287. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +37 -37
  288. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +8 -8
  289. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  290. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  291. package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +1 -0
  292. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +114 -81
  293. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  294. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  295. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +18 -18
  296. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +12 -12
  297. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +14 -14
  299. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +78 -73
  303. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +365 -140
  304. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +37 -37
  305. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  308. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  309. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +11 -11
  311. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +8 -8
  312. package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  314. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  315. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +16 -16
  316. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
  318. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  319. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
  320. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +12 -12
  321. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
  322. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
  323. package/SVF-doxygen/html/html/classes.html +90 -90
  324. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  325. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  326. package/SVF-doxygen/html/html/functions_0x7e.html +5 -8
  327. package/SVF-doxygen/html/html/functions_a.html +13 -10
  328. package/SVF-doxygen/html/html/functions_c.html +31 -28
  329. package/SVF-doxygen/html/html/functions_func.html +12 -9
  330. package/SVF-doxygen/html/html/functions_func_0x7e.html +5 -8
  331. package/SVF-doxygen/html/html/functions_func_c.html +22 -21
  332. package/SVF-doxygen/html/html/functions_func_g.html +11 -13
  333. package/SVF-doxygen/html/html/functions_func_i.html +8 -7
  334. package/SVF-doxygen/html/html/functions_func_l.html +2 -8
  335. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  336. package/SVF-doxygen/html/html/functions_func_v.html +0 -3
  337. package/SVF-doxygen/html/html/functions_g.html +6 -8
  338. package/SVF-doxygen/html/html/functions_i.html +13 -12
  339. package/SVF-doxygen/html/html/functions_l.html +1 -5
  340. package/SVF-doxygen/html/html/functions_m.html +1 -1
  341. package/SVF-doxygen/html/html/functions_o.html +3 -3
  342. package/SVF-doxygen/html/html/functions_p.html +3 -3
  343. package/SVF-doxygen/html/html/functions_r.html +1 -1
  344. package/SVF-doxygen/html/html/functions_s.html +17 -15
  345. package/SVF-doxygen/html/html/functions_t.html +7 -7
  346. package/SVF-doxygen/html/html/functions_v.html +5 -8
  347. package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
  348. package/SVF-doxygen/html/html/hierarchy.html +2 -4
  349. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  350. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  351. package/SVF-doxygen/html/html/namespaceSVF.html +0 -4
  352. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  353. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +40 -39
  354. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  355. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  356. package/SVF-doxygen/html/html/search/all_1.js +3 -2
  357. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  358. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  359. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  360. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  361. package/SVF-doxygen/html/html/search/all_16.js +1 -2
  362. package/SVF-doxygen/html/html/search/all_1b.js +3 -4
  363. package/SVF-doxygen/html/html/search/all_3.js +5 -4
  364. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  365. package/SVF-doxygen/html/html/search/all_9.js +3 -2
  366. package/SVF-doxygen/html/html/search/all_c.js +2 -3
  367. package/SVF-doxygen/html/html/search/all_d.js +2 -2
  368. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  369. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  370. package/SVF-doxygen/html/html/search/classes_9.js +1 -3
  371. package/SVF-doxygen/html/html/search/functions_0.js +3 -2
  372. package/SVF-doxygen/html/html/search/functions_13.js +0 -1
  373. package/SVF-doxygen/html/html/search/functions_16.js +3 -4
  374. package/SVF-doxygen/html/html/search/functions_2.js +5 -4
  375. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  376. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  377. package/SVF-doxygen/html/html/search/functions_a.js +1 -3
  378. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  379. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  380. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  381. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  382. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  383. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +1 -1
  384. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
  385. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  386. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  387. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +17 -17
  388. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  389. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
  390. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
  391. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
  392. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
  393. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  394. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  395. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  396. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  397. package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -7
  398. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -5
  399. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  400. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  401. package/include/Graphs/GenericGraph.h +5 -8
  402. package/include/MemoryModel/MemModel.h +5 -21
  403. package/include/MemoryModel/PersistentPointsToCache.h +13 -7
  404. package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
  405. package/include/SVF-FE/CHG.h +1 -1
  406. package/include/SVF-FE/SymbolTableInfo.h +14 -56
  407. package/include/Util/SVFBasicTypes.h +4 -2
  408. package/include/Util/SVFModule.h +16 -0
  409. package/include/WPA/Andersen.h +2 -7
  410. package/lib/Graphs/PAG.cpp +3 -10
  411. package/lib/MemoryModel/MemModel.cpp +10 -436
  412. package/lib/SVF-FE/CHG.cpp +0 -6
  413. package/lib/SVF-FE/CPPUtil.cpp +2 -0
  414. package/lib/SVF-FE/SymbolTableInfo.cpp +139 -12
  415. package/lib/Util/Options.cpp +2 -10
  416. package/lib/WPA/Andersen.cpp +13 -1
  417. package/package.json +1 -1
  418. package/tools/Example/svf-ex.cpp +6 -3
@@ -272,12 +272,12 @@ Additional Inherited Members</h2></td></tr>
272
272
  <p class="definition">Definition at line <a class="el" href="DDAClient_8cpp_source.html#l00057">57</a> of file <a class="el" href="DDAClient_8cpp_source.html">DDAClient.cpp</a>.</p>
273
273
  <div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;{</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#af0ca064f86a9e9a7764c0e2577d49ce2">setPAG</a>(p);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">for</span>(PAG::CallSiteToFunPtrMap::const_iterator it = <a class="code" href="classSVF_1_1DDAClient.html#a9b5fe841dca605d3a30fe0e9e77baf08">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a6a468180bff1e8f6143587546a2e7742">getIndirectCallsites</a>().begin(),</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; eit = <a class="code" href="classSVF_1_1DDAClient.html#a9b5fe841dca605d3a30fe0e9e77baf08">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a6a468180bff1e8f6143587546a2e7742">getIndirectCallsites</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#aca6465c72effcaddeb34f55da4555754">cppUtil::isVirtualCallSite</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(it-&gt;first-&gt;getCallSite())))</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *vtblPtr = <a class="code" href="namespaceSVF_1_1cppUtil.html#a3b00cc9770022f124958513bf1e52a05">cppUtil::getVCallVtblPtr</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(it-&gt;first-&gt;getCallSite()));</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1DDAClient.html#a9b5fe841dca605d3a30fe0e9e77baf08">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#ae3cdf8c2139ba043595b420624f25427">hasValueNode</a>(vtblPtr) &amp;&amp; <span class="stringliteral">&quot;not a vtable pointer?&quot;</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vtblId = <a class="code" href="classSVF_1_1DDAClient.html#a9b5fe841dca605d3a30fe0e9e77baf08">pag</a>-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(vtblPtr);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(vtblId);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>[vtblId] = it-&gt;first;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(it-&gt;second);</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; }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div><div class="ttc" id="classSVF_1_1DDAClient_html_aa6fdff97be2e1a886237b515406d2e61"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">SVF::DDAClient::candidateQueries</a></div><div class="ttdeci">OrderedNodeSet candidateQueries</div><div class="ttdoc">store all candidate pointers to be queried </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00091">DDAClient.h:91</a></div></div>
274
274
  <div class="ttc" id="classSVF_1_1PAG_html_a5f49b7da110a626ed6605d1f108dfa25"><div class="ttname"><a href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">SVF::PAG::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get PAG Node according to LLVM value. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00547">PAG.h:547</a></div></div>
275
- <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#l00256">CPPUtil.cpp:256</a></div></div>
275
+ <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#l00257">CPPUtil.cpp:257</a></div></div>
276
276
  <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#l00018">MTAResultValidator.h:18</a></div></div>
277
277
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
278
278
  <div class="ttc" id="classSVF_1_1DDAClient_html_a7c07d9527011ea0165038e3a112a85d8"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">SVF::DDAClient::addCandidate</a></div><div class="ttdeci">void addCandidate(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00082">DDAClient.h:82</a></div></div>
279
279
  <div class="ttc" id="classSVF_1_1DDAClient_html_a9b5fe841dca605d3a30fe0e9e77baf08"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a9b5fe841dca605d3a30fe0e9e77baf08">SVF::DDAClient::pag</a></div><div class="ttdeci">PAG * pag</div><div class="ttdoc">PAG graph used by current DDA analysis. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00088">DDAClient.h:88</a></div></div>
280
- <div class="ttc" id="namespaceSVF_1_1cppUtil_html_a3b00cc9770022f124958513bf1e52a05"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a3b00cc9770022f124958513bf1e52a05">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00378">CPPUtil.cpp:378</a></div></div>
280
+ <div class="ttc" id="namespaceSVF_1_1cppUtil_html_a3b00cc9770022f124958513bf1e52a05"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a3b00cc9770022f124958513bf1e52a05">SVF::cppUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="CPPUtil_8cpp_source.html#l00379">CPPUtil.cpp:379</a></div></div>
281
281
  <div class="ttc" id="classSVF_1_1DDAClient_html_af0ca064f86a9e9a7764c0e2577d49ce2"><div class="ttname"><a href="classSVF_1_1DDAClient.html#af0ca064f86a9e9a7764c0e2577d49ce2">SVF::DDAClient::setPAG</a></div><div class="ttdeci">void setPAG(PAG *g)</div><div class="ttdoc">Set PAG graph. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00056">DDAClient.h:56</a></div></div>
282
282
  <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#l00219">SVFUtil.h:219</a></div></div>
283
283
  <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="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
@@ -314,11 +314,11 @@ Additional Inherited Members</h2></td></tr>
314
314
  <p>Reimplemented from <a class="el" href="classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3">SVF::DDAClient</a>.</p>
315
315
 
316
316
  <p class="definition">Definition at line <a class="el" href="DDAClient_8cpp_source.html#l00079">79</a> of file <a class="el" href="DDAClient_8cpp_source.html">DDAClient.cpp</a>.</p>
317
- <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</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; <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">AndersenWaveDiff::createAndersenWaveDiff</a>(pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>());</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalCallsites = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> morePreciseCallsites = 0;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> zeroTargetCallsites = 0;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> oneTargetCallsites = 0;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> twoTargetCallsites = 0;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> moreThanTwoCallsites = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">for</span> (VTablePtrToCallSiteMap::iterator nIter = <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.begin();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; nIter != <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.end(); ++nIter)</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; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vtptr = nIter-&gt;first;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; ddaPts = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(vtptr);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; anderPts = ander-&gt;<a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(vtptr);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* cbn = nIter-&gt;second;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(!callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ac46ec4fe0094145c5fdb81394f1dd644">hasIndCSCallees</a>(cbn))</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">//outs() &lt;&lt; &quot;virtual callsite has no callee&quot; &lt;&lt; *(nIter-&gt;second.getInstruction()) &lt;&lt; &quot;\n&quot;;</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a>&amp; callees = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a88bec70a6bf5c1c41bc4efd035ef0e08">getIndCSCallees</a>(cbn);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; totalCallsites++;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span>(callees.size() == 0)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; zeroTargetCallsites++;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(callees.size() == 1)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; oneTargetCallsites++;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(callees.size() == 2)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; twoTargetCallsites++;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; moreThanTwoCallsites++;</div><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; <span class="keywordflow">if</span>(ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &gt;= anderPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() || ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">continue</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="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> ander_vfns;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> dda_vfns;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">getVFnsFromPts</a>(cbn,anderPts, ander_vfns);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">getVFnsFromPts</a>(cbn,ddaPts, dda_vfns);</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; ++morePreciseCallsites;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;============more precise callsite =================\n&quot;</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; *(nIter-&gt;second)-&gt;getCallSite() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>((nIter-&gt;second)-&gt;getCallSite()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------ander pts or vtable num---(&quot;</span> &lt;&lt; anderPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA vfn num---(&quot;</span> &lt;&lt; ander_vfns.size() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">//ander-&gt;dumpPts(vtptr, anderPts);</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA pts or vtable num---(&quot;</span> &lt;&lt; ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA vfn num---(&quot;</span> &lt;&lt; dda_vfns.size() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">//pta-&gt;dumpPts(vtptr, ddaPts);</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;-------------------------\n&quot;</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</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;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Total virtual callsites: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Total analyzed virtual callsites: &quot;</span> &lt;&lt; totalCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Indirect call map size: &quot;</span> &lt;&lt; ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Precise callsites: &quot;</span> &lt;&lt; morePreciseCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Zero target callsites: &quot;</span> &lt;&lt; zeroTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;One target callsites: &quot;</span> &lt;&lt; oneTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Two target callsites: &quot;</span> &lt;&lt; twoTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;More than two target callsites: &quot;</span> &lt;&lt; moreThanTwoCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div><div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00222">Andersen.h:222</a></div></div>
317
+ <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</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; <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">AndersenWaveDiff::createAndersenWaveDiff</a>(pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">getPAG</a>());</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalCallsites = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> morePreciseCallsites = 0;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> zeroTargetCallsites = 0;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> oneTargetCallsites = 0;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> twoTargetCallsites = 0;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> moreThanTwoCallsites = 0;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">for</span> (VTablePtrToCallSiteMap::iterator nIter = <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.begin();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; nIter != <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.end(); ++nIter)</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; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vtptr = nIter-&gt;first;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; ddaPts = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(vtptr);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; anderPts = ander-&gt;<a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(vtptr);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* cbn = nIter-&gt;second;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(!callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ac46ec4fe0094145c5fdb81394f1dd644">hasIndCSCallees</a>(cbn))</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">//outs() &lt;&lt; &quot;virtual callsite has no callee&quot; &lt;&lt; *(nIter-&gt;second.getInstruction()) &lt;&lt; &quot;\n&quot;;</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a>&amp; callees = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a88bec70a6bf5c1c41bc4efd035ef0e08">getIndCSCallees</a>(cbn);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; totalCallsites++;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span>(callees.size() == 0)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; zeroTargetCallsites++;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(callees.size() == 1)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; oneTargetCallsites++;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(callees.size() == 2)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; twoTargetCallsites++;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; moreThanTwoCallsites++;</div><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; <span class="keywordflow">if</span>(ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &gt;= anderPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() || ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">continue</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="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> ander_vfns;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> dda_vfns;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">getVFnsFromPts</a>(cbn,anderPts, ander_vfns);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">getVFnsFromPts</a>(cbn,ddaPts, dda_vfns);</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; ++morePreciseCallsites;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;============more precise callsite =================\n&quot;</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; *(nIter-&gt;second)-&gt;getCallSite() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>((nIter-&gt;second)-&gt;getCallSite()) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------ander pts or vtable num---(&quot;</span> &lt;&lt; anderPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA vfn num---(&quot;</span> &lt;&lt; ander_vfns.size() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="comment">//ander-&gt;dumpPts(vtptr, anderPts);</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA pts or vtable num---(&quot;</span> &lt;&lt; ddaPts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;------DDA vfn num---(&quot;</span> &lt;&lt; dda_vfns.size() &lt;&lt; <span class="stringliteral">&quot;)--\n&quot;</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">//pta-&gt;dumpPts(vtptr, ddaPts);</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;-------------------------\n&quot;</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</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;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Total virtual callsites: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1FunptrDDAClient.html#a357db092c3c39d7b1c6dd0fec3888048">vtableToCallSiteMap</a>.size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Total analyzed virtual callsites: &quot;</span> &lt;&lt; totalCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Indirect call map size: &quot;</span> &lt;&lt; ander-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().size() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Precise callsites: &quot;</span> &lt;&lt; morePreciseCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Zero target callsites: &quot;</span> &lt;&lt; zeroTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;One target callsites: &quot;</span> &lt;&lt; oneTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Two target callsites: &quot;</span> &lt;&lt; twoTargetCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;More than two target callsites: &quot;</span> &lt;&lt; moreThanTwoCallsites &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;=================================================\n&quot;</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div><div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00217">Andersen.h:217</a></div></div>
318
318
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
319
319
  <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#l00018">MTAResultValidator.h:18</a></div></div>
320
320
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_ad49fa2a288945f6910deb11acdf6a42d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">SVF::PTACallGraph::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap &amp; getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00280">PTACallGraph.h:280</a></div></div>
321
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00425">Andersen.h:425</a></div></div>
321
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00420">Andersen.h:420</a></div></div>
322
322
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
323
323
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aaf6b41f44da3a4caea1fa395e41edf71"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">PAG * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
324
324
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8fa5b8a7b410faf63106a879ff72bf51"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">SVF::PointerAnalysis::getVFnsFromPts</a></div><div class="ttdeci">void getVFnsFromPts(const CallBlockNode *cs, const PointsTo &amp;target, VFunSet &amp;vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00507">PointerAnalysis.cpp:507</a></div></div>
@@ -329,7 +329,7 @@ Additional Inherited Members</h2></td></tr>
329
329
  <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00106">PointsTo.cpp:106</a></div></div>
330
330
  <div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
331
331
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
332
- <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a74134978db1c0d9c71122bc63f4b73c1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(PAG *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00436">Andersen.h:436</a></div></div>
332
+ <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a74134978db1c0d9c71122bc63f4b73c1"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a74134978db1c0d9c71122bc63f4b73c1">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(PAG *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00431">Andersen.h:431</a></div></div>
333
333
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
334
334
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_ac46ec4fe0094145c5fdb81394f1dd644"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ac46ec4fe0094145c5fdb81394f1dd644">SVF::PTACallGraph::hasIndCSCallees</a></div><div class="ttdeci">bool hasIndCSCallees(const CallBlockNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00284">PTACallGraph.h:284</a></div></div>
335
335
  <div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>