svf-tools 1.0.628 → 1.0.630

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 (572) hide show
  1. package/SVF-doxygen/html/html/AddressValue_8h_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +3 -3
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +5 -5
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  5. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  6. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +21 -21
  8. package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -6
  9. package/SVF-doxygen/html/html/Annotator_8h.html +2 -1
  10. package/SVF-doxygen/html/html/Annotator_8h_source.html +19 -18
  11. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/CFLAlias_8cpp.html +1 -0
  14. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +11 -10
  15. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +3 -3
  17. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/CFLVF_8cpp.html +1 -0
  24. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +6 -5
  25. package/SVF-doxygen/html/html/CFLVF_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +1 -1
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +23 -23
  28. package/SVF-doxygen/html/html/CHG_8cpp.html +7 -6
  29. package/SVF-doxygen/html/html/CHG_8cpp_source.html +22 -21
  30. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/CSC_8cpp_source.html +3 -3
  32. package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
  33. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  34. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +4 -4
  35. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  36. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +11 -11
  38. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  39. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +8 -8
  40. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  41. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
  43. package/SVF-doxygen/html/html/CppUtil_8cpp.html +247 -0
  44. package/SVF-doxygen/html/html/CppUtil_8cpp_source.html +98 -0
  45. package/SVF-doxygen/html/html/CppUtil_8h.html +122 -0
  46. package/SVF-doxygen/html/html/CppUtil_8h_source.html +94 -0
  47. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +3 -3
  48. package/SVF-doxygen/html/html/DCHG_8cpp.html +1 -1
  49. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +40 -40
  50. package/SVF-doxygen/html/html/DCHG_8h.html +2 -1
  51. package/SVF-doxygen/html/html/DCHG_8h_source.html +75 -74
  52. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +10 -10
  53. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  54. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +6 -6
  55. package/SVF-doxygen/html/html/DDAPass_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
  57. package/SVF-doxygen/html/html/DDAStat_8h_source.html +2 -2
  58. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  59. package/SVF-doxygen/html/html/DPItem_8h_source.html +6 -6
  60. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
  61. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/ExeState_8h_source.html +2 -2
  63. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +9 -8
  64. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +10 -9
  65. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  66. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +6 -6
  67. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  68. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  69. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
  70. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  71. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +4 -4
  72. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +14 -14
  73. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  74. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +6 -6
  75. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
  76. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +10 -10
  77. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +3 -3
  79. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  80. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +7 -7
  82. package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
  83. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +8 -8
  84. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/IntervalExeState_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +3 -3
  87. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +5 -5
  88. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +4 -4
  89. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h.html +1 -0
  90. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +3 -2
  91. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +41 -41
  92. package/SVF-doxygen/html/html/LLVMModule_8h.html +1 -1
  93. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +6 -6
  94. package/SVF-doxygen/html/html/LLVMUtil_8cpp.html +78 -1
  95. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +71 -38
  96. package/SVF-doxygen/html/html/LLVMUtil_8h.html +41 -7
  97. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +75 -50
  98. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  99. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +7 -7
  100. package/SVF-doxygen/html/html/LocationSet_8h_source.html +4 -4
  101. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +11 -11
  102. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +5 -5
  103. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  104. package/SVF-doxygen/html/html/MHP_8cpp_source.html +10 -10
  105. package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  108. package/SVF-doxygen/html/html/MTAAnnotator_8h.html +3 -1
  109. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +29 -27
  110. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  111. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +6 -6
  112. package/SVF-doxygen/html/html/MTAStat_8h.html +1 -0
  113. package/SVF-doxygen/html/html/MTAStat_8h_source.html +9 -8
  114. package/SVF-doxygen/html/html/MTA_8cpp_source.html +13 -13
  115. package/SVF-doxygen/html/html/MTA_8h.html +1 -0
  116. package/SVF-doxygen/html/html/MTA_8h_source.html +12 -11
  117. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  118. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +12 -12
  119. package/SVF-doxygen/html/html/MemRegion_8h_source.html +5 -5
  120. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +10 -10
  121. package/SVF-doxygen/html/html/MemSSA_8h_source.html +4 -4
  122. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +4 -4
  123. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp.html +1 -0
  124. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +23 -23
  125. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +17 -17
  126. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +4 -4
  127. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  128. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +2 -2
  129. package/SVF-doxygen/html/html/PCG_8cpp_source.html +5 -5
  130. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +5 -5
  131. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +4 -4
  132. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  133. package/SVF-doxygen/html/html/PersistentPointsToCache_8h.html +1 -0
  134. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +43 -43
  135. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +12 -12
  136. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +1 -0
  137. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +24 -23
  138. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +22 -22
  139. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +2 -1
  140. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +34 -33
  141. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +25 -25
  142. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +2 -2
  143. package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
  144. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
  145. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +5 -5
  146. package/SVF-doxygen/html/html/RelExeState_8cpp_source.html +2 -2
  147. package/SVF-doxygen/html/html/RelExeState_8h_source.html +4 -4
  148. package/SVF-doxygen/html/html/RelationSolver_8cpp_source.html +1 -1
  149. package/SVF-doxygen/html/html/RelationSolver_8h_source.html +1 -1
  150. package/SVF-doxygen/html/html/SCC_8h_source.html +1 -1
  151. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  152. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
  153. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +2 -2
  154. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  155. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  156. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
  157. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +4 -4
  158. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +3 -3
  159. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +13 -13
  160. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  161. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +12 -12
  162. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +1 -1
  163. package/SVF-doxygen/html/html/SVFIR2Relation_8cpp_source.html +1 -1
  164. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp.html +1 -1
  165. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +35 -35
  166. package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +1 -0
  167. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +54 -53
  168. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -5
  169. package/SVF-doxygen/html/html/SVFIR_8h_source.html +7 -7
  170. package/SVF-doxygen/html/html/SVFLoop_8h_source.html +1 -1
  171. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  172. package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
  173. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +4 -4
  174. package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
  175. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  176. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
  177. package/SVF-doxygen/html/html/SVFType_8h.html +65 -35
  178. package/SVF-doxygen/html/html/SVFType_8h_source.html +114 -114
  179. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  180. package/SVF-doxygen/html/html/SVFUtil_8h.html +2 -3
  181. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +36 -36
  182. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +4 -4
  183. package/SVF-doxygen/html/html/SVFValue_8h_source.html +11 -11
  184. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +3 -3
  185. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +4 -4
  186. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  187. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp.html +2 -0
  188. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +37 -36
  189. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +27 -27
  190. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +5 -5
  191. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  192. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +6 -6
  193. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp.html +1 -1
  194. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +36 -36
  195. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  196. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +17 -17
  197. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +8 -8
  198. package/SVF-doxygen/html/html/TCT_8cpp_source.html +7 -7
  199. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  200. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +4 -4
  201. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +4 -4
  202. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
  203. package/SVF-doxygen/html/html/TypeAnalysis_8cpp.html +1 -0
  204. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +11 -10
  205. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +5 -5
  206. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  207. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  208. package/SVF-doxygen/html/html/VFG_8cpp_source.html +5 -5
  209. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  210. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  211. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +7 -7
  212. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +3 -3
  213. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +1 -1
  214. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +6 -6
  215. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -3
  216. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
  217. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  218. package/SVF-doxygen/html/html/WTO_8h_source.html +2 -2
  219. package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
  220. package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
  221. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
  222. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  223. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +22 -22
  230. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +11 -11
  231. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  232. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  233. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +5 -5
  234. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
  235. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +39 -39
  236. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +49 -49
  237. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +4 -4
  242. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +15 -15
  243. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +8 -8
  244. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +8 -8
  247. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +63 -63
  248. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +22 -22
  249. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +2 -2
  250. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
  251. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  254. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +9 -9
  260. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +6 -6
  261. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +23 -23
  263. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  264. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +2 -2
  266. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  268. package/SVF-doxygen/html/html/classSVF_1_1CxtStmtDPItem.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  270. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  272. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +14 -14
  273. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +124 -124
  274. package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +66 -66
  275. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +5 -5
  276. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +6 -6
  277. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
  278. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +35 -35
  279. package/SVF-doxygen/html/html/classSVF_1_1DPItem.html +1 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +8 -8
  281. package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +3 -3
  283. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +9 -9
  284. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  286. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +3 -3
  287. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +17 -17
  288. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +32 -32
  289. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +6 -6
  290. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +15 -15
  291. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  293. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
  294. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +6 -6
  298. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +10 -10
  300. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +15 -15
  301. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +1 -1
  303. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
  304. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +5 -5
  307. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +1 -1
  308. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +5 -5
  312. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +1 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +70 -70
  314. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +11 -11
  315. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +1 -1
  316. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +8 -8
  318. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +47 -47
  319. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +6 -6
  320. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +35 -35
  321. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +23 -23
  322. package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +1 -1
  323. package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
  324. package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +1 -1
  325. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
  326. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +38 -38
  327. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +77 -77
  328. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +13 -13
  329. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +11 -11
  330. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +19 -19
  331. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  332. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +29 -29
  333. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  334. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +2 -2
  335. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1MutableVersionedPTData.html +1 -1
  337. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +15 -15
  338. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +43 -43
  339. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +6 -6
  340. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +5 -5
  341. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  342. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  343. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +7 -7
  344. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  345. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +1 -1
  346. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +4 -4
  347. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  348. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  349. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +2 -2
  350. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +9 -9
  351. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +10 -10
  352. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  353. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +19 -19
  354. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +141 -141
  355. package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +1 -1
  356. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  357. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +78 -78
  358. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +5 -5
  359. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +2 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  361. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +6 -6
  362. package/SVF-doxygen/html/html/classSVF_1_1RelExeState.html +7 -7
  363. package/SVF-doxygen/html/html/classSVF_1_1RelationSolver.html +2 -2
  364. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  365. package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +1 -1
  366. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFArrayType.html +6 -7
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFFunctionType.html +9 -10
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +6 -6
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +6 -6
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +5 -5
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +30 -30
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +352 -352
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFIntergerType.html +5 -6
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +4 -5
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFPointerType.html +9 -10
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +5 -5
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +3 -3
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +5 -6
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +40 -42
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +2 -2
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +2 -2
  388. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  389. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +95 -95
  390. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +5 -5
  391. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  392. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
  393. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +14 -14
  394. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +44 -44
  395. package/SVF-doxygen/html/html/classSVF_1_1StmtDPItem.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  398. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
  399. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +23 -23
  400. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
  401. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  402. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  404. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +6 -6
  405. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
  406. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +18 -18
  407. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  408. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  409. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +5 -5
  410. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  411. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +20 -20
  412. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +7 -7
  413. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  414. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  415. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
  416. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
  417. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  418. package/SVF-doxygen/html/html/classSVF_1_1Wto.html +1 -1
  419. package/SVF-doxygen/html/html/classSVF_1_1WtoCycle.html +1 -1
  420. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +1 -1
  422. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +1 -1
  423. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +1 -1
  424. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +1 -1
  425. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  426. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  427. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
  428. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +2 -0
  429. package/SVF-doxygen/html/html/dir_967d846b666a902c6ca9bc5c37976e49.html +0 -2
  430. package/SVF-doxygen/html/html/dir_a07347b69f031d2f872c9d4a9c274c8c.html +0 -2
  431. package/SVF-doxygen/html/html/files.html +41 -41
  432. package/SVF-doxygen/html/html/functions_func_i.html +3 -3
  433. package/SVF-doxygen/html/html/functions_g.html +1 -1
  434. package/SVF-doxygen/html/html/functions_i.html +3 -3
  435. package/SVF-doxygen/html/html/functions_n.html +4 -4
  436. package/SVF-doxygen/html/html/functions_o.html +15 -13
  437. package/SVF-doxygen/html/html/functions_s.html +7 -7
  438. package/SVF-doxygen/html/html/functions_t.html +9 -9
  439. package/SVF-doxygen/html/html/functions_v.html +3 -3
  440. package/SVF-doxygen/html/html/globals_c.html +1 -1
  441. package/SVF-doxygen/html/html/globals_d.html +3 -0
  442. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  443. package/SVF-doxygen/html/html/globals_func.html +3 -3
  444. package/SVF-doxygen/html/html/globals_g.html +1 -1
  445. package/SVF-doxygen/html/html/globals_h.html +1 -1
  446. package/SVF-doxygen/html/html/globals_i.html +1 -1
  447. package/SVF-doxygen/html/html/globals_n.html +1 -1
  448. package/SVF-doxygen/html/html/globals_s.html +1 -1
  449. package/SVF-doxygen/html/html/globals_v.html +4 -4
  450. package/SVF-doxygen/html/html/globals_vars.html +7 -7
  451. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  452. package/SVF-doxygen/html/html/iterator_8h_source.html +1 -1
  453. package/SVF-doxygen/html/html/iterator__range_8h_source.html +1 -1
  454. package/SVF-doxygen/html/html/mta_8cpp.html +4 -4
  455. package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -4
  456. package/SVF-doxygen/html/html/namespaceSVF.html +53 -53
  457. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +620 -150
  458. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +95 -125
  459. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +27 -440
  460. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil_1_1ctir.html +4 -4
  461. package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
  462. package/SVF-doxygen/html/html/namespacemembers_func_d.html +1 -1
  463. package/SVF-doxygen/html/html/namespacemembers_func_g.html +10 -10
  464. package/SVF-doxygen/html/html/namespacemembers_func_i.html +9 -8
  465. package/SVF-doxygen/html/html/namespacemembers_func_v.html +1 -1
  466. package/SVF-doxygen/html/html/namespacemembers_g.html +10 -10
  467. package/SVF-doxygen/html/html/namespacemembers_i.html +9 -8
  468. package/SVF-doxygen/html/html/namespacemembers_n.html +1 -1
  469. package/SVF-doxygen/html/html/namespacemembers_type_n.html +1 -1
  470. package/SVF-doxygen/html/html/namespacemembers_v.html +1 -1
  471. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  472. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  473. package/SVF-doxygen/html/html/search/all_10.js +1 -1
  474. package/SVF-doxygen/html/html/search/all_12.js +6 -6
  475. package/SVF-doxygen/html/html/search/all_13.js +5 -5
  476. package/SVF-doxygen/html/html/search/all_15.js +7 -7
  477. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  478. package/SVF-doxygen/html/html/search/all_3.js +3 -3
  479. package/SVF-doxygen/html/html/search/all_4.js +2 -1
  480. package/SVF-doxygen/html/html/search/all_7.js +12 -12
  481. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  482. package/SVF-doxygen/html/html/search/all_9.js +10 -10
  483. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  484. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  485. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  486. package/SVF-doxygen/html/html/search/defines_3.js +1 -0
  487. package/SVF-doxygen/html/html/search/files_2.js +2 -2
  488. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  489. package/SVF-doxygen/html/html/search/functions_3.js +1 -1
  490. package/SVF-doxygen/html/html/search/functions_6.js +12 -12
  491. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  492. package/SVF-doxygen/html/html/search/functions_8.js +10 -10
  493. package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
  494. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  495. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  496. package/SVF-doxygen/html/html/search/variables_15.js +4 -4
  497. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  498. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  499. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
  500. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +1 -1
  501. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +26 -16
  502. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +1 -1
  503. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +25 -15
  504. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  505. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +1 -1
  506. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +29 -19
  507. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +1 -1
  508. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +2 -2
  509. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +1 -1
  510. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +2 -2
  511. package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
  512. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  513. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
  514. package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +1 -1
  515. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS.html +3 -3
  516. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalPointsTo.html +3 -3
  517. package/SVF-doxygen/html/html/structSVF_1_1cppUtil_1_1DemangledName.html +6 -6
  518. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  519. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  520. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  521. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
  522. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  523. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +4 -4
  524. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  525. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  526. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  527. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  528. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  529. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  530. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  531. package/include/MTA/MTA.h +1 -0
  532. package/include/MTA/MTAStat.h +1 -0
  533. package/include/MemoryModel/PersistentPointsToCache.h +1 -0
  534. package/include/SVF-LLVM/DCHG.h +2 -1
  535. package/include/SVF-LLVM/LLVMLoopAnalysis.h +1 -0
  536. package/include/SVF-LLVM/LLVMModule.h +2 -2
  537. package/include/SVF-LLVM/LLVMUtil.h +135 -79
  538. package/include/SVF-LLVM/SVFIRBuilder.h +1 -0
  539. package/include/SVFIR/PAGBuilderFromFile.h +3 -3
  540. package/include/SVFIR/SVFIR.h +3 -3
  541. package/include/SVFIR/SVFModule.h +3 -3
  542. package/include/SVFIR/SVFStatements.h +3 -3
  543. package/include/SVFIR/SVFType.h +120 -103
  544. package/include/SVFIR/SVFValue.h +3 -3
  545. package/include/SVFIR/SVFVariables.h +3 -3
  546. package/include/SVFIR/SymbolTableInfo.h +3 -3
  547. package/include/Util/Annotator.h +8 -17
  548. package/include/{SVF-LLVM/CPPUtil.h → Util/CppUtil.h} +5 -54
  549. package/include/Util/SVFUtil.h +3 -9
  550. package/index.html +9 -5
  551. package/lib/CFL/CFLAlias.cpp +1 -1
  552. package/lib/CFL/CFLVF.cpp +1 -0
  553. package/lib/Graphs/CHG.cpp +1 -0
  554. package/lib/Graphs/ConsG.cpp +0 -5
  555. package/lib/Graphs/IRGraph.cpp +0 -5
  556. package/lib/Graphs/SVFG.cpp +0 -5
  557. package/lib/MemoryModel/PointerAnalysis.cpp +1 -0
  558. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -0
  559. package/lib/SABER/SaberCondAllocator.cpp +2 -0
  560. package/lib/SVF-LLVM/CHGBuilder.cpp +10 -10
  561. package/lib/SVF-LLVM/DCHG.cpp +1 -1
  562. package/lib/SVF-LLVM/LLVMModule.cpp +4 -4
  563. package/lib/SVF-LLVM/LLVMUtil.cpp +362 -4
  564. package/lib/SVF-LLVM/SVFIRBuilder.cpp +2 -2
  565. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +1 -1
  566. package/lib/Util/CppUtil.cpp +214 -0
  567. package/lib/Util/ExtAPI.cpp +1 -1
  568. package/lib/Util/NodeIDAllocator.cpp +3 -2
  569. package/lib/WPA/TypeAnalysis.cpp +1 -0
  570. package/package.json +1 -1
  571. package/tools/MTA/MTAAnnotator.h +2 -0
  572. package/lib/SVF-LLVM/CPPUtil.cpp +0 -572
@@ -1036,11 +1036,11 @@ Additional Inherited Members</h2></td></tr>
1036
1036
  <div class="ttc" id="classSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr&lt; std::vector&lt; NodeID &gt; &gt; MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00042">PointsTo.h:42</a></div></div>
1037
1037
  <div class="ttc" id="classSVF_1_1Steensgaard_html_acd5f31c3b1f9b47def458637f8e9389e"><div class="ttname"><a href="classSVF_1_1Steensgaard.html#acd5f31c3b1f9b47def458637f8e9389e">SVF::Steensgaard::createSteensgaard</a></div><div class="ttdeci">static Steensgaard * createSteensgaard(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance. </div><div class="ttdef"><b>Definition:</b> <a href="Steensgaard_8h_source.html#l00035">Steensgaard.h:35</a></div></div>
1038
1038
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; SVFVar, SVFStmt &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00346">GenericGraph.h:346</a></div></div>
1039
- <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector&lt; NodeID &gt; cluster(BVDataPTAImpl *pta, const std::vector&lt; std::pair&lt; NodeID, unsigned &gt;&gt; keys, std::vector&lt; std::pair&lt; hclust_fast_methods, std::vector&lt; NodeID &gt;&gt;&gt; &amp;candidates, std::string evalSubtitle=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00188">NodeIDAllocator.cpp:188</a></div></div>
1039
+ <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector&lt; NodeID &gt; cluster(BVDataPTAImpl *pta, const std::vector&lt; std::pair&lt; NodeID, unsigned &gt;&gt; keys, std::vector&lt; std::pair&lt; hclust_fast_methods, std::vector&lt; NodeID &gt;&gt;&gt; &amp;candidates, std::string evalSubtitle=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00189">NodeIDAllocator.cpp:189</a></div></div>
1040
1040
  <div class="ttc" id="classSVF_1_1Steensgaard_html"><div class="ttname"><a href="classSVF_1_1Steensgaard.html">SVF::Steensgaard</a></div><div class="ttdef"><b>Definition:</b> <a href="Steensgaard_8h_source.html#l00020">Steensgaard.h:20</a></div></div>
1041
1041
  <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>
1042
1042
  <div class="ttc" id="classSVF_1_1PointsTo_html_a84eca4c7fc833f8ca4d119cd4da08ca8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">SVF::PointsTo::setCurrentBestNodeMapping</a></div><div class="ttdeci">static void setCurrentBestNodeMapping(MappingPtr newCurrentBestNodeMapping, MappingPtr newCurrentBestReverseNodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00371">PointsTo.cpp:371</a></div></div>
1043
- <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector&lt; NodeID &gt; getReverseNodeMapping(const std::vector&lt; NodeID &gt; &amp;nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00398">NodeIDAllocator.cpp:398</a></div></div>
1043
+ <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector&lt; NodeID &gt; getReverseNodeMapping(const std::vector&lt; NodeID &gt; &amp;nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00399">NodeIDAllocator.cpp:399</a></div></div>
1044
1044
  </div><!-- fragment -->
1045
1045
  </div>
1046
1046
  </div>
@@ -1074,9 +1074,9 @@ Additional Inherited Members</h2></td></tr>
1074
1074
  <div class="fragment"><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;{</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9">isBlkObjOrConstantObj</a>(nodeId))</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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; <span class="keywordtype">bool</span> changed = <span class="keyword">false</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordtype">double</span> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="comment">// set base node field-insensitive.</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(nodeId);</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="comment">// replace all occurrences of each field with the field-insensitive node</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> baseId = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a7c8a29ad1d270fca745f233bb4800731">getFIObjVar</a>(nodeId);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> baseRepNodeId = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(baseId);</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> &amp; allFields = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#afd200919cf8742bb62bb0bde279a558a">getAllFieldsObjVars</a>(baseId);</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">NodeBS::iterator</a> fieldIt = allFields.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), fieldEit = allFields.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>(); fieldIt != fieldEit; fieldIt++)</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> fieldId = *fieldIt;</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">if</span> (fieldId != baseId)</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; {</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="comment">// use the reverse pts of this field node to find all pointers point to it</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> revPts = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aa30608bc36dcfde45c896d4a15a08ca1">getRevPts</a>(fieldId);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> o : revPts)</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; {</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <span class="comment">// change the points-to target from field to base node</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a4909696c946cf6aba12542ec51766b64">clearPts</a>(o, fieldId);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(o, baseId);</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(o);</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="comment">// merge field node into base node, including edges and pts.</span></div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> fieldRepNodeId = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(fieldId);</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a>(fieldRepNodeId, baseRepNodeId);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">if</span> (fieldId != baseRepNodeId)</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; {</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="comment">// gep node fieldId becomes redundant if it is merged to its base node who is set as field-insensitive</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="comment">// two node IDs should be different otherwise this field is actually the base and should not be removed.</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">redundantGepNodes</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(fieldId);</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; }</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; }</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a84468bc9355d31e8c3e18369036ddf5c">isPWCNode</a>(baseRepNodeId))</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#a3f0048155f0b3a6899dac6f30553aa9e">collapseNodePts</a>(baseRepNodeId))</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; changed = <span class="keyword">true</span>;</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordtype">double</span> end = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25">timeOfCollapse</a> += (end - start) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160;}</div><div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00528">SparseBitVector.h:528</a></div></div>
1075
1075
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a8ba74f82c1e796f2888ba34bc8355ce9"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9">SVF::ConstraintGraph::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00310">ConsG.h:310</a></div></div>
1076
1076
  <div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00156">WPASolver.h:156</a></div></div>
1077
- <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00110">SVFType.h:110</a></div></div>
1077
+ <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00111">SVFType.h:111</a></div></div>
1078
1078
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1079
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
1079
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00463">SVFType.h:463</a></div></div>
1080
1080
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6c3d6b4c004d9e43690c3807502eed74"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6c3d6b4c004d9e43690c3807502eed74">SVF::AndersenBase::redundantGepNodes</a></div><div class="ttdeci">NodeBS redundantGepNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00119">Andersen.h:119</a></div></div>
1081
1081
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a4909696c946cf6aba12542ec51766b64"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a4909696c946cf6aba12542ec51766b64">SVF::BVDataPTAImpl::clearPts</a></div><div class="ttdeci">virtual void clearPts(NodeID id, NodeID element)</div><div class="ttdoc">Remove element from the points-to set of id. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
1082
1082
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a84468bc9355d31e8c3e18369036ddf5c"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a84468bc9355d31e8c3e18369036ddf5c">SVF::ConstraintGraph::isPWCNode</a></div><div class="ttdeci">bool isPWCNode(NodeID nodeId)</div><div class="ttdoc">Check/Set PWC (positive weight cycle) flag. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00348">ConsG.h:348</a></div></div>
@@ -1288,7 +1288,7 @@ Additional Inherited Members</h2></td></tr>
1288
1288
  <p>Connect formal and actual parameters for indirect callsites </p>
1289
1289
 
1290
1290
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00691">691</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1291
- <div class="fragment"><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; assert(F);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;connect parameters from indirect callsite &quot;</span> &lt;&lt; cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</a>() &lt;&lt; <span class="stringliteral">&quot; to callee &quot;</span> &lt;&lt; *F &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVFUtil::isHeapAllocExtFunViaRet</a>(F) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">callsiteHasRet</a>(retBlockNode))</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a7b1b9e9b25b5643440aca77e23a8de07">heapAllocatorViaIndCall</a>(cs,cpySrcNodes);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#afe8274c3b7317fccef5314662a182046">funHasRet</a>(F) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">callsiteHasRet</a>(retBlockNode))</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; {</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* cs_return = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* fun_return = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f">getFunRet</a>(F);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span> (cs_return-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>() &amp;&amp; fun_return-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dstrec = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_return-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> srcret = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(fun_return-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(srcret, dstrec))</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; cpySrcNodes.insert(std::make_pair(srcret,dstrec));</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;not a pointer ignored\n&quot;</span>);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a95f77211550ec2374d57779d88cf5138">hasCallSiteArgsMap</a>(callBlockNode) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ac359813747b4f75920c5f395ba74f410">hasFunArgsList</a>(F))</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// connect actual and formal param</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>&amp; csArgList = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2a1e8ce39bf8deace3c344d5f05fe6ac">getCallSiteArgsList</a>(callBlockNode);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>&amp; funArgList = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a">getFunArgsList</a>(F);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">//Go through the fixed parameters.</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; args:&quot;</span>);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; SVFIR::SVFVarList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; SVFIR::SVFVarList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">for</span> (; funArgIt != funArgEit; ++csArgIt, ++funArgIt)</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">//Some programs (e.g. Linux kernel) leave unneeded parameters empty.</span></div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">if</span> (csArgIt == csArgEit)</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; !! not enough args\n&quot;</span>);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *cs_arg = *csArgIt ;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *fun_arg = *funArgIt;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">if</span> (cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>() &amp;&amp; fun_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;process actual parm &quot;</span> &lt;&lt; cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">toString</a>() &lt;&lt; <span class="stringliteral">&quot; \n&quot;</span>);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> srcAA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dstFA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(fun_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(srcAA, dstFA))</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; {</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; cpySrcNodes.insert(std::make_pair(srcAA,dstFA));</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="comment">//Any remaining actual args must be varargs.</span></div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span> (F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">isVarArg</a>())</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> vaF = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a8b10c318674a47035d617b3ade4f069b">getVarargNode</a>(F));</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n varargs:&quot;</span>);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">for</span> (; csArgIt != csArgEit; ++csArgIt)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *cs_arg = *csArgIt;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span> (cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; {</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> vnAA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(vnAA,vaF))</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; cpySrcNodes.insert(std::make_pair(vnAA,vaF));</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; }</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">if</span>(csArgIt != csArgEit)</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;too many args to non-vararg func.&quot;</span>);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;(&quot;</span> + cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">getSourceLoc</a>() + <span class="stringliteral">&quot;)&quot;</span>);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;}</div><div class="ttc" id="SVFType_8h_html_a7a295e02c56a93cf9206dd9d3b18dd17"><div class="ttname"><a href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a></div><div class="ttdeci">#define DPAGBuild</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00424">SVFType.h:424</a></div></div>
1291
+ <div class="fragment"><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160;{</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; assert(F);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;connect parameters from indirect callsite &quot;</span> &lt;&lt; cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</a>() &lt;&lt; <span class="stringliteral">&quot; to callee &quot;</span> &lt;&lt; *F &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVFUtil::isHeapAllocExtFunViaRet</a>(F) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">callsiteHasRet</a>(retBlockNode))</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a7b1b9e9b25b5643440aca77e23a8de07">heapAllocatorViaIndCall</a>(cs,cpySrcNodes);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#afe8274c3b7317fccef5314662a182046">funHasRet</a>(F) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">callsiteHasRet</a>(retBlockNode))</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; {</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* cs_return = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a3145677c7a3763fc0d6aa7e21b264ab6">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* fun_return = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a34e27b8bcfeaafda190dcdb9169a346f">getFunRet</a>(F);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">if</span> (cs_return-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>() &amp;&amp; fun_return-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dstrec = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_return-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> srcret = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(fun_return-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(srcret, dstrec))</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; cpySrcNodes.insert(std::make_pair(srcret,dstrec));</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;not a pointer ignored\n&quot;</span>);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a95f77211550ec2374d57779d88cf5138">hasCallSiteArgsMap</a>(callBlockNode) &amp;&amp; <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ac359813747b4f75920c5f395ba74f410">hasFunArgsList</a>(F))</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160;</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="comment">// connect actual and formal param</span></div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>&amp; csArgList = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2a1e8ce39bf8deace3c344d5f05fe6ac">getCallSiteArgsList</a>(callBlockNode);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>&amp; funArgList = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a">getFunArgsList</a>(F);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="comment">//Go through the fixed parameters.</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; args:&quot;</span>);</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; SVFIR::SVFVarList::const_iterator funArgIt = funArgList.begin(), funArgEit = funArgList.end();</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; SVFIR::SVFVarList::const_iterator csArgIt = csArgList.begin(), csArgEit = csArgList.end();</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">for</span> (; funArgIt != funArgEit; ++csArgIt, ++funArgIt)</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="comment">//Some programs (e.g. Linux kernel) leave unneeded parameters empty.</span></div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">if</span> (csArgIt == csArgEit)</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; {</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot; !! not enough args\n&quot;</span>);</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; }</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *cs_arg = *csArgIt ;</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *fun_arg = *funArgIt;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">if</span> (cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>() &amp;&amp; fun_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;process actual parm &quot;</span> &lt;&lt; cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">toString</a>() &lt;&lt; <span class="stringliteral">&quot; \n&quot;</span>);</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> srcAA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> dstFA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(fun_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(srcAA, dstFA))</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; {</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; cpySrcNodes.insert(std::make_pair(srcAA,dstFA));</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="comment">//Any remaining actual args must be varargs.</span></div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="keywordflow">if</span> (F-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ae578002917b4ccbf28f172dba30d1d58">isVarArg</a>())</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> vaF = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a8b10c318674a47035d617b3ade4f069b">getVarargNode</a>(F));</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n varargs:&quot;</span>);</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">for</span> (; csArgIt != csArgEit; ++csArgIt)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *cs_arg = *csArgIt;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; <span class="keywordflow">if</span> (cs_arg-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; {</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> vnAA = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(cs_arg-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">addCopyEdge</a>(vnAA,vaF))</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; cpySrcNodes.insert(std::make_pair(vnAA,vaF));</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; }</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; }</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">if</span>(csArgIt != csArgEit)</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;too many args to non-vararg func.&quot;</span>);</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;(&quot;</span> + cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">getSourceLoc</a>() + <span class="stringliteral">&quot;)&quot;</span>);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; }</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;}</div><div class="ttc" id="SVFType_8h_html_a7a295e02c56a93cf9206dd9d3b18dd17"><div class="ttname"><a href="SVFType_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a></div><div class="ttdeci">#define DPAGBuild</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00443">SVFType.h:443</a></div></div>
1292
1292
  <div class="ttc" id="classSVF_1_1SVFIR_html_a64939d7ecfd8e2cf862782954a56596b"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVF::SVFIR::SVFVarList</a></div><div class="ttdeci">std::vector&lt; const SVFVar * &gt; SVFVarList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00057">SVFIR.h:57</a></div></div>
1293
1293
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1294
1294
  <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#l00148">IRGraph.h:148</a></div></div>
@@ -1302,11 +1302,11 @@ Additional Inherited Members</h2></td></tr>
1302
1302
  <div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
1303
1303
  <div class="ttc" id="classSVF_1_1SVFIR_html_a2a1e8ce39bf8deace3c344d5f05fe6ac"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2a1e8ce39bf8deace3c344d5f05fe6ac">SVF::SVFIR::getCallSiteArgsList</a></div><div class="ttdeci">const SVFVarList &amp; getCallSiteArgsList(const CallICFGNode *cs) const</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00261">SVFIR.h:261</a></div></div>
1304
1304
  <div class="ttc" id="classSVF_1_1Andersen_html_a7b1b9e9b25b5643440aca77e23a8de07"><div class="ttname"><a href="classSVF_1_1Andersen.html#a7b1b9e9b25b5643440aca77e23a8de07">SVF::Andersen::heapAllocatorViaIndCall</a></div><div class="ttdeci">void heapAllocatorViaIndCall(CallSite cs, NodePairSet &amp;cpySrcNodes)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00661">Andersen.cpp:661</a></div></div>
1305
- <div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00680">LLVMUtil.cpp:680</a></div></div>
1305
+ <div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01033">LLVMUtil.cpp:1033</a></div></div>
1306
1306
  <div class="ttc" id="classSVF_1_1SVFVar_html_ada932ef2ae0a3e712174df479c35b0dd"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ada932ef2ae0a3e712174df479c35b0dd">SVF::SVFVar::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8cpp_source.html#l00092">SVFVariables.cpp:92</a></div></div>
1307
1307
  <div class="ttc" id="classSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01023">SVFValue.h:1023</a></div></div>
1308
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1309
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00303">SVFUtil.h:303</a></div></div>
1308
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
1309
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00304">SVFUtil.h:304</a></div></div>
1310
1310
  <div class="ttc" id="classSVF_1_1SVFIR_html_ac359813747b4f75920c5f395ba74f410"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ac359813747b4f75920c5f395ba74f410">SVF::SVFIR::hasFunArgsList</a></div><div class="ttdeci">bool hasFunArgsList(const SVFFunction *func) const</div><div class="ttdoc">Function has arguments list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00234">SVFIR.h:234</a></div></div>
1311
1311
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa148e3e14ebad8460e32079f2f44413a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a">SVF::SVFIR::getFunArgsList</a></div><div class="ttdeci">const SVFVarList &amp; getFunArgsList(const SVFFunction *func) const</div><div class="ttdoc">Get function arguments list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00244">SVFIR.h:244</a></div></div>
1312
1312
  <div class="ttc" id="classSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00239">SVFValue.h:239</a></div></div>
@@ -1315,11 +1315,11 @@ Additional Inherited Members</h2></td></tr>
1315
1315
  <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#l00289">SVFIR.h:289</a></div></div>
1316
1316
  <div class="ttc" id="classSVF_1_1Andersen_html_a8ba593bd16d4436310f2f25e75687c57"><div class="ttname"><a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">SVF::Andersen::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add copy edge on constraint graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00298">Andersen.h:298</a></div></div>
1317
1317
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
1318
- <div class="ttc" id="SVFType_8h_html_adbfc4364261f019dc6cf33234a5177d2"><div class="ttname"><a href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a></div><div class="ttdeci">#define DAndersen</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00435">SVFType.h:435</a></div></div>
1318
+ <div class="ttc" id="SVFType_8h_html_adbfc4364261f019dc6cf33234a5177d2"><div class="ttname"><a href="SVFType_8h.html#adbfc4364261f019dc6cf33234a5177d2">DAndersen</a></div><div class="ttdeci">#define DAndersen</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00454">SVFType.h:454</a></div></div>
1319
1319
  <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>
1320
1320
  <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#l00273">SVFIR.h:273</a></div></div>
1321
1321
  <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="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00163">SVFIR.h:163</a></div></div>
1322
- <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
1322
+ <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00435">SVFType.h:435</a></div></div>
1323
1323
  <div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00202">Andersen.h:202</a></div></div>
1324
1324
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa79dba26cb34b40eee682713db299d5f"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa79dba26cb34b40eee682713db299d5f">SVF::SVFIR::callsiteHasRet</a></div><div class="ttdeci">bool callsiteHasRet(const RetICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00279">SVFIR.h:279</a></div></div>
1325
1325
  </div><!-- fragment -->
@@ -1359,7 +1359,7 @@ Additional Inherited Members</h2></td></tr>
1359
1359
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
1360
1360
  <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>
1361
1361
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
1362
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1362
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
1363
1363
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
1364
1364
  <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#l00395">GenericGraph.h:395</a></div></div>
1365
1365
  <div class="ttc" id="classSVF_1_1PointsTo_html_ad5b582d2672617806c61e6170d0b5a7e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
@@ -1398,11 +1398,11 @@ Additional Inherited Members</h2></td></tr>
1398
1398
 
1399
1399
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00208">208</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1400
1400
  <div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;{</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="comment">// TODO: check -stat too.</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="comment">// TODO: broken</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a46743284466ff803f52a82b094186d16">Options::ClusterAnder</a>())</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, std::string&gt;</a> stats;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">PTDataTy</a> *ptd = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">getPTDataTy</a>();</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="comment">// TODO: should we use liveOnly?</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="comment">// TODO: parameterise final arg.</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">NodeIDAllocator::Clusterer::evaluate</a>(*<a class="code" href="classSVF_1_1PointsTo.html#ae349a9ce6a8739925baffd83d1878b0e">PointsTo::getCurrentBestNodeMapping</a>(), ptd-&gt;getAllPts(<span class="keyword">true</span>), stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main&quot;</span>, stats);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// sanitizePts();</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">AndersenBase::finalize</a>();</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;}</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ae94cea78b71fb75837ee2a17b5ed0e81"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ae94cea78b71fb75837ee2a17b5ed0e81">SVF::BVDataPTAImpl::getPTDataTy</a></div><div class="ttdeci">PTDataTy * getPTDataTy() const</div><div class="ttdoc">Get points-to data structure. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00150">PointerAnalysisImpl.h:150</a></div></div>
1401
- <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_acbbc5c04c79846fe1cc46a3bd5a65aba"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">SVF::NodeIDAllocator::Clusterer::evaluate</a></div><div class="ttdeci">static void evaluate(const std::vector&lt; NodeID &gt; &amp;nodeMap, const Map&lt; PointsTo, unsigned &gt; pointsToSets, Map&lt; std::string, std::string &gt; &amp;stats, bool accountForOcc)</div><div class="ttdoc">Fills in *NumWords statistics in stats.. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00573">NodeIDAllocator.cpp:573</a></div></div>
1401
+ <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_acbbc5c04c79846fe1cc46a3bd5a65aba"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">SVF::NodeIDAllocator::Clusterer::evaluate</a></div><div class="ttdeci">static void evaluate(const std::vector&lt; NodeID &gt; &amp;nodeMap, const Map&lt; PointsTo, unsigned &gt; pointsToSets, Map&lt; std::string, std::string &gt; &amp;stats, bool accountForOcc)</div><div class="ttdoc">Fills in *NumWords statistics in stats.. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00574">NodeIDAllocator.cpp:574</a></div></div>
1402
1402
  <div class="ttc" id="classSVF_1_1Options_html_a46743284466ff803f52a82b094186d16"><div class="ttname"><a href="classSVF_1_1Options.html#a46743284466ff803f52a82b094186d16">SVF::Options::ClusterAnder</a></div><div class="ttdeci">static const Option&lt; bool &gt; ClusterAnder</div><div class="ttdoc">Whether to stage Andersen&amp;#39;s with Steensgaard and cluster based on that data. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00041">Options.h:41</a></div></div>
1403
1403
  <div class="ttc" id="classSVF_1_1PointsTo_html_ae349a9ce6a8739925baffd83d1878b0e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ae349a9ce6a8739925baffd83d1878b0e">SVF::PointsTo::getCurrentBestNodeMapping</a></div><div class="ttdeci">static MappingPtr getCurrentBestNodeMapping()</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00361">PointsTo.cpp:361</a></div></div>
1404
1404
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00099">SVFType.h:99</a></div></div>
1405
- <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac10cbda6a84ce890c9946a5ff35800b7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">SVF::NodeIDAllocator::Clusterer::printStats</a></div><div class="ttdeci">static void printStats(std::string title, Map&lt; std::string, std::string &gt; &amp;stats)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00691">NodeIDAllocator.cpp:691</a></div></div>
1405
+ <div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac10cbda6a84ce890c9946a5ff35800b7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">SVF::NodeIDAllocator::Clusterer::printStats</a></div><div class="ttdeci">static void printStats(std::string title, Map&lt; std::string, std::string &gt; &amp;stats)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00692">NodeIDAllocator.cpp:692</a></div></div>
1406
1406
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a28a1c3571cdee5e05004b29ace364e67"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">SVF::AndersenBase::finalize</a></div><div class="ttdeci">virtual void finalize() override</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00089">Andersen.cpp:89</a></div></div>
1407
1407
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acfdb43f20bbcababc928cc4df93a8483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acfdb43f20bbcababc928cc4df93a8483">SVF::BVDataPTAImpl::PTDataTy</a></div><div class="ttdeci">PTData&lt; NodeID, NodeSet, NodeID, PointsTo &gt; PTDataTy</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00046">PointerAnalysisImpl.h:46</a></div></div>
1408
1408
  </div><!-- fragment -->
@@ -1606,7 +1606,7 @@ Additional Inherited Members</h2></td></tr>
1606
1606
  <div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00458">ICFGNode.h:458</a></div></div>
1607
1607
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00121">PointerAnalysisImpl.h:121</a></div></div>
1608
1608
  <div class="ttc" id="classSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01023">SVFValue.h:1023</a></div></div>
1609
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00227">SVFUtil.h:227</a></div></div>
1609
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00228">SVFUtil.h:228</a></div></div>
1610
1610
  <div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
1611
1611
  <div class="ttc" id="classSVF_1_1Andersen_html_a8ba593bd16d4436310f2f25e75687c57"><div class="ttname"><a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">SVF::Andersen::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add copy edge on constraint graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00298">Andersen.h:298</a></div></div>
1612
1612
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
@@ -1759,7 +1759,7 @@ Additional Inherited Members</h2></td></tr>
1759
1759
  <div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;{</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> revTopoOrder;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> &amp; topoOrder = <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">topoNodeStack</a>();</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">while</span> (!topoOrder.empty())</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> repNodeId = topoOrder.top();</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; topoOrder.pop();</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; revTopoOrder.push(repNodeId);</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>&amp; subNodes = <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">subNodes</a>(repNodeId);</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="comment">// merge sub nodes to rep node</span></div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">mergeSccNodes</a>(repNodeId, subNodes);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="comment">// restore the topological order for later solving.</span></div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">while</span> (!revTopoOrder.empty())</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> nodeId = revTopoOrder.top();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; revTopoOrder.pop();</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; topoOrder.push(nodeId);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;}</div><div class="ttc" id="classSVF_1_1SCCDetection_html_a6ab5eff6a576e6d8703c1ea29b7f425d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">SVF::SCCDetection::subNodes</a></div><div class="ttdeci">const NodeBS &amp; subNodes(NodeID n) const</div><div class="ttdoc">get all subnodes in one scc, if size is empty insert itself into the set </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00173">SCC.h:173</a></div></div>
1760
1760
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a6502c0a765ac1653474ffee651949f93"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">SVF::SCCDetection::topoNodeStack</a></div><div class="ttdeci">GNodeStack &amp; topoNodeStack()</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00128">SCC.h:128</a></div></div>
1761
1761
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
1762
- <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00115">SVFType.h:115</a></div></div>
1762
+ <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00116">SVFType.h:116</a></div></div>
1763
1763
  <div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00067">WPASolver.h:67</a></div></div>
1764
1764
  <div class="ttc" id="classSVF_1_1Andersen_html_a1ba1e1e36af289982146de06cf06ab0a"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1ba1e1e36af289982146de06cf06ab0a">SVF::Andersen::mergeSccNodes</a></div><div class="ttdeci">void mergeSccNodes(NodeID repNodeId, const NodeBS &amp;subNodes)</div><div class="ttdoc">Merge sub node in a SCC cycle to their rep node. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00514">Andersen.cpp:514</a></div></div>
1765
1765
  <div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00454">SparseBitVector.h:454</a></div></div>
@@ -2173,7 +2173,7 @@ Additional Inherited Members</h2></td></tr>
2173
2173
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00231">231</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
2174
2174
  <div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// sub nodes do not need to be processed</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(nodeId) != nodeId)</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordtype">double</span> insertStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a0f32ba8cb1109c257552fa775a007ffd">handleLoadStore</a>(node);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordtype">double</span> insertEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf">timeOfProcessLoadStore</a> += (insertEnd - insertStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordtype">double</span> propStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e">handleCopyGep</a>(node);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordtype">double</span> propEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">timeOfProcessCopyGep</a> += (propEnd - propStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160;}</div><div class="ttc" id="classSVF_1_1AndersenBase_html_aae14de6fbca9280d8d0290326aa493f0"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">SVF::AndersenBase::timeOfProcessCopyGep</a></div><div class="ttdeci">static double timeOfProcessCopyGep</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00137">Andersen.h:137</a></div></div>
2175
2175
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
2176
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2176
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00463">SVFType.h:463</a></div></div>
2177
2177
  <div class="ttc" id="classSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
2178
2178
  <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>
2179
2179
  <div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
@@ -2328,7 +2328,7 @@ Additional Inherited Members</h2></td></tr>
2328
2328
  <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#l00373">GenericGraph.h:373</a></div></div>
2329
2329
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; ConstraintNode, ConstraintEdge &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00346">GenericGraph.h:346</a></div></div>
2330
2330
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00121">PointerAnalysisImpl.h:121</a></div></div>
2331
- <div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
2331
+ <div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00060">SVFType.h:60</a></div></div>
2332
2332
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00739">SparseBitVector.h:739</a></div></div>
2333
2333
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_afd200919cf8742bb62bb0bde279a558a"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#afd200919cf8742bb62bb0bde279a558a">SVF::ConstraintGraph::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS &amp; getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00314">ConsG.h:314</a></div></div>
2334
2334
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00144">Andersen.h:144</a></div></div>
@@ -2369,7 +2369,7 @@ Additional Inherited Members</h2></td></tr>
2369
2369
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00610">610</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
2370
2370
  <div class="fragment"><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160;{</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968">numOfSCCDetection</a>++;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordtype">double</span> sccStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">WPAConstraintSolver::SCCDetect</a>();</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordtype">double</span> sccEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">timeOfSCCDetection</a> += (sccEnd - sccStart)/<a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordtype">double</span> mergeStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">mergeSccCycle</a>();</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordtype">double</span> mergeEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">timeOfSCCMerges</a> += (mergeEnd - mergeStart)/<a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">topoNodeStack</a>();</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;}</div><div class="ttc" id="classSVF_1_1SCCDetection_html_a6502c0a765ac1653474ffee651949f93"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">SVF::SCCDetection::topoNodeStack</a></div><div class="ttdeci">GNodeStack &amp; topoNodeStack()</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00128">SCC.h:128</a></div></div>
2371
2371
  <div class="ttc" id="classSVF_1_1WPASolver_html_aaa932894d00b69cfa741f9987a9cc6b8"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SVF::WPASolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00086">WPASolver.h:86</a></div></div>
2372
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2372
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00463">SVFType.h:463</a></div></div>
2373
2373
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a02c5a50b214d36921e1404784e76704d"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">SVF::AndersenBase::timeOfSCCMerges</a></div><div class="ttdeci">static double timeOfSCCMerges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00133">Andersen.h:133</a></div></div>
2374
2374
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a0d7298cbf83568f24fd2bd1926a32968"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968">SVF::AndersenBase::numOfSCCDetection</a></div><div class="ttdeci">static u32_t numOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00131">Andersen.h:131</a></div></div>
2375
2375
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6b7d0e57f741c446d0bf178939960143"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">SVF::AndersenBase::timeOfSCCDetection</a></div><div class="ttdeci">static double timeOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00132">Andersen.h:132</a></div></div>
@@ -2595,10 +2595,10 @@ Additional Inherited Members</h2></td></tr>
2595
2595
 
2596
2596
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00634">634</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
2597
2597
  <div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;{</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordtype">double</span> cgUpdateStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a> newEdges;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">onTheFlyCallGraphSolve</a>(callsites,newEdges);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <a class="code" href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">NodePairSet</a> cpySrcNodes; </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">for</span>(CallEdgeMap::iterator it = newEdges.begin(), eit = newEdges.end(); it!=eit; ++it )</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVFUtil::getSVFCallSite</a>(it-&gt;first-&gt;getCallSite());</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">for</span>(FunctionSet::iterator cit = it-&gt;second.begin(), ecit = it-&gt;second.end(); cit!=ecit; ++cit)</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a5a90e681e46c52ffd3debf02910c7ecf">connectCaller2CalleeParams</a>(cs,*cit,cpySrcNodes);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">for</span>(NodePairSet::iterator it = cpySrcNodes.begin(), eit = cpySrcNodes.end(); it!=eit; ++it)</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; {</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(it-&gt;first);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; <span class="keywordtype">double</span> cgUpdateEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">getClk</a>();</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">timeOfUpdateCallGraph</a> += (cgUpdateEnd - cgUpdateStart) / <a class="code" href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">return</span> (!newEdges.empty());</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00156">WPASolver.h:156</a></div></div>
2598
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9815a5b31ac7dc21239d08e5b9f61106"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVF::SVFUtil::getSVFCallSite</a></div><div class="ttdeci">CallSite getSVFCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Return LLVM callsite given an instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00194">SVFUtil.h:194</a></div></div>
2599
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a9830d4676fd424b633f8e4d918734296"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">SVF::BVDataPTAImpl::onTheFlyCallGraphSolve</a></div><div class="ttdeci">virtual void onTheFlyCallGraphSolve(const CallSiteToFunPtrMap &amp;callsites, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">On the fly call graph construction. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00458">PointerAnalysisImpl.cpp:458</a></div></div>
2600
- <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00444">SVFType.h:444</a></div></div>
2601
- <div class="ttc" id="namespaceSVF_html_ac82022f3f81965c3ce9b26c299f537a7"><div class="ttname"><a href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">SVF::NodePairSet</a></div><div class="ttdeci">Set&lt; NodePair &gt; NodePairSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00111">SVFType.h:111</a></div></div>
2598
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9815a5b31ac7dc21239d08e5b9f61106"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVF::SVFUtil::getSVFCallSite</a></div><div class="ttdeci">CallSite getSVFCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Return LLVM callsite given an instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00195">SVFUtil.h:195</a></div></div>
2599
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a9830d4676fd424b633f8e4d918734296"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">SVF::BVDataPTAImpl::onTheFlyCallGraphSolve</a></div><div class="ttdeci">virtual void onTheFlyCallGraphSolve(const CallSiteToFunPtrMap &amp;callsites, CallEdgeMap &amp;newEdges)</div><div class="ttdoc">On the fly call graph construction. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00459">PointerAnalysisImpl.cpp:459</a></div></div>
2600
+ <div class="ttc" id="SVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00463">SVFType.h:463</a></div></div>
2601
+ <div class="ttc" id="namespaceSVF_html_ac82022f3f81965c3ce9b26c299f537a7"><div class="ttname"><a href="namespaceSVF.html#ac82022f3f81965c3ce9b26c299f537a7">SVF::NodePairSet</a></div><div class="ttdeci">Set&lt; NodePair &gt; NodePairSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00112">SVFType.h:112</a></div></div>
2602
2602
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap&lt; const CallICFGNode *, FunctionSet &gt; CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00106">PointerAnalysis.h:106</a></div></div>
2603
2603
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a2afb49f513c9534fd051117b59dc056b"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">SVF::AndersenBase::timeOfUpdateCallGraph</a></div><div class="ttdeci">static double timeOfUpdateCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00139">Andersen.h:139</a></div></div>
2604
2604
  <div class="ttc" id="classSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>