svf-tools 1.0.306 → 1.0.310

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 (237) hide show
  1. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -9
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +8 -8
  8. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +9 -9
  11. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  12. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  15. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
  19. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -4
  20. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
  23. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  28. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/MHP_8cpp_source.html +6 -6
  32. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  35. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +3 -3
  39. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -7
  43. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +25 -22
  45. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +18 -14
  47. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +68 -68
  48. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -23
  52. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +23 -23
  53. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +8 -7
  59. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +4 -4
  60. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +3 -3
  63. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  64. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  65. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  67. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  69. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +12 -12
  76. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -9
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -2
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -5
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +2 -2
  82. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +81 -78
  84. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
  87. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  88. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  92. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +20 -20
  93. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  97. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
  98. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +24 -24
  99. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +12 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +36 -36
  102. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  103. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +13 -13
  104. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +4 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  115. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +2 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
  124. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +16 -16
  126. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  127. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +7 -7
  129. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +8 -8
  132. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
  133. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +15 -15
  134. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  135. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
  136. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +29 -29
  140. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +18 -17
  145. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +4 -4
  146. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +19 -16
  149. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +188 -95
  150. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
  151. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +2 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +8 -8
  157. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +4 -4
  158. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  159. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  160. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +3 -3
  161. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  165. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  166. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  167. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +13 -13
  169. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +9 -9
  170. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +7 -7
  181. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  182. package/SVF-doxygen/html/html/functions_c.html +10 -10
  183. package/SVF-doxygen/html/html/functions_f.html +1 -1
  184. package/SVF-doxygen/html/html/functions_func_f.html +1 -1
  185. package/SVF-doxygen/html/html/functions_i.html +5 -5
  186. package/SVF-doxygen/html/html/functions_o.html +3 -3
  187. package/SVF-doxygen/html/html/functions_p.html +23 -20
  188. package/SVF-doxygen/html/html/functions_r.html +6 -4
  189. package/SVF-doxygen/html/html/functions_s.html +8 -8
  190. package/SVF-doxygen/html/html/functions_t.html +6 -6
  191. package/SVF-doxygen/html/html/functions_u.html +3 -3
  192. package/SVF-doxygen/html/html/functions_v.html +3 -3
  193. package/SVF-doxygen/html/html/functions_vars_p.html +9 -0
  194. package/SVF-doxygen/html/html/globals_func_i.html +8 -8
  195. package/SVF-doxygen/html/html/globals_func_s.html +6 -6
  196. package/SVF-doxygen/html/html/globals_s.html +12 -14
  197. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  198. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +10 -9
  199. package/SVF-doxygen/html/html/search/all_10.js +12 -9
  200. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  201. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  202. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  203. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  204. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  205. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  206. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  207. package/SVF-doxygen/html/html/search/all_9.js +3 -3
  208. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  209. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  210. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  211. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  212. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  213. package/SVF-doxygen/html/html/search/variables_10.js +3 -0
  214. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  215. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  216. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +1 -1
  217. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  218. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  219. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  220. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  221. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  222. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  223. package/SVF-doxygen/html/html/tools_2DDA_2CMakeLists_8txt.html +1 -1
  224. package/SVF-doxygen/html/html/tools_2Example_2CMakeLists_8txt.html +1 -1
  225. package/SVF-doxygen/html/html/tools_2MTA_2CMakeLists_8txt.html +1 -1
  226. package/SVF-doxygen/html/html/tools_2SABER_2CMakeLists_8txt.html +1 -1
  227. package/SVF-doxygen/html/html/tools_2WPA_2CMakeLists_8txt.html +9 -9
  228. package/include/MemoryModel/PersistentPointsToCache.h +43 -34
  229. package/include/MemoryModel/PointerAnalysisImpl.h +1 -5
  230. package/include/Util/SVFBasicTypes.h +4 -2
  231. package/lib/MemoryModel/PointerAnalysisImpl.cpp +7 -0
  232. package/lib/MemoryModel/PointsTo.cpp +3 -3
  233. package/lib/Util/PTAStat.cpp +3 -4
  234. package/lib/Util/SVFUtil.cpp +1 -0
  235. package/lib/WPA/FlowSensitive.cpp +1 -1
  236. package/package.json +1 -1
  237. package/tools/WPA/CMakeLists.txt +3 -1
@@ -1077,16 +1077,16 @@ Additional Inherited Members</h2></td></tr>
1077
1077
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_afc320fbf269404fe128e69c98e6f9cac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">SVF::PointerAnalysis::OnTheFlyIterBudgetForStat</a></div><div class="ttdeci">u32_t OnTheFlyIterBudgetForStat</div><div class="ttdoc">Flag for iteration budget for on-the-fly statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00143">PointerAnalysis.h:143</a></div></div>
1078
1078
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a9d81537ec20196315a9a2541477ec5bf"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">SVF::FlowSensitive::updateCallGraph</a></div><div class="ttdeci">bool updateCallGraph(const CallSiteToFunPtrMap &amp;callsites)</div><div class="ttdoc">Update call graph. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00653">FlowSensitive.cpp:653</a></div></div>
1079
1079
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ad6243c1317503bed39411dab47c83da7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad6243c1317503bed39411dab47c83da7">SVF::FlowSensitive::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00048">FlowSensitive.cpp:48</a></div></div>
1080
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00422">SVFUtil.cpp:422</a></div></div>
1080
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00423">SVFUtil.cpp:423</a></div></div>
1081
1081
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00159">PointerAnalysis.h:159</a></div></div>
1082
1082
  <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#l00155">PointerAnalysis.h:155</a></div></div>
1083
1083
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a4202f837e863a48712765cc346d8b514"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">SVF::FlowSensitive::solveTime</a></div><div class="ttdeci">double solveTime</div><div class="ttdoc">time of solve. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00305">FlowSensitive.h:305</a></div></div>
1084
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1084
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1085
1085
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1086
- <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
1086
+ <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
1087
1087
  <div class="ttc" id="classSVF_1_1WPASolver_html_a7195381c3aab04890139b4fe2c561909"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">SVF::WPASolver::initWorklist</a></div><div class="ttdeci">virtual void initWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00101">WPASolver.h:101</a></div></div>
1088
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a168f7f7a3a8c70dbf2b5b4269cd4c7c5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVF::SVFUtil::stopAnalysisLimitTimer</a></div><div class="ttdeci">void stopAnalysisLimitTimer(bool limitTimerSet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00443">SVFUtil.cpp:443</a></div></div>
1089
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
1088
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a168f7f7a3a8c70dbf2b5b4269cd4c7c5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVF::SVFUtil::stopAnalysisLimitTimer</a></div><div class="ttdeci">void stopAnalysisLimitTimer(bool limitTimerSet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00444">SVFUtil.cpp:444</a></div></div>
1089
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
1090
1090
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
1091
1091
  </div><!-- fragment -->
1092
1092
  </div>
@@ -1176,7 +1176,7 @@ Additional Inherited Members</h2></td></tr>
1176
1176
 
1177
1177
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00212">212</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1178
1178
  <div class="fragment"><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="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#ac20579e277a284158e2924fb5946cd86">clearAllDFOutUpdatedVar</a>(stmt-&gt;getId());</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_ac20579e277a284158e2924fb5946cd86"><div class="ttname"><a href="classSVF_1_1DFPTData.html#ac20579e277a284158e2924fb5946cd86">SVF::DFPTData::clearAllDFOutUpdatedVar</a></div><div class="ttdeci">virtual void clearAllDFOutUpdatedVar(LocID)=0</div></div>
1179
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
1179
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
1180
1180
  </div><!-- fragment -->
1181
1181
  </div>
1182
1182
  </div>
@@ -1314,7 +1314,7 @@ Additional Inherited Members</h2></td></tr>
1314
1314
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00888">888</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
1315
1315
  <div class="fragment"><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;{</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;NodeID, NodeID&gt; locPA : cmp)</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; {</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="comment">// loc doesn&#39;t make a difference for FSPTA.</span></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> p = locPA.second;</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;NodeID, NodeID&gt; locPB : cmp)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">if</span> (locPB == locPA) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> q = locPB.second;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">switch</span> (<a class="code" href="classSVF_1_1BVDataPTAImpl.html#ad06fbd9a51499c668662b533eeb2e4ac">alias</a>(p, q))</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordflow">case</span> llvm::AliasResult::NoAlias:</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; ++(*noAliases);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">case</span> llvm::AliasResult::MayAlias:</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; ++(*mayAliases);</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">default</span>:</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="stringliteral">&quot;Not May/NoAlias?&quot;</span>);</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; }</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; }</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
1316
1316
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1317
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ad06fbd9a51499c668662b533eeb2e4ac"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ad06fbd9a51499c668662b533eeb2e4ac">SVF::BVDataPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00445">PointerAnalysisImpl.cpp:445</a></div></div>
1317
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ad06fbd9a51499c668662b533eeb2e4ac"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ad06fbd9a51499c668662b533eeb2e4ac">SVF::BVDataPTAImpl::alias</a></div><div class="ttdeci">virtual AliasResult alias(const MemoryLocation &amp;LocA, const MemoryLocation &amp;LocB)</div><div class="ttdoc">Interface expose to users of our pointer analysis, given Location infos. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00452">PointerAnalysisImpl.cpp:452</a></div></div>
1318
1318
  </div><!-- fragment -->
1319
1319
  </div>
1320
1320
  </div>
@@ -1378,15 +1378,16 @@ Additional Inherited Members</h2></td></tr>
1378
1378
  <p>Finalize analysis. </p>
1379
1379
  <p>Finalize analysis </p>
1380
1380
 
1381
- <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a9128b7d4aaf4912b5db20aca4c22e852">SVF::BVDataPTAImpl</a>.</p>
1381
+ <p>Reimplemented from <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl</a>.</p>
1382
1382
 
1383
1383
  <p>Reimplemented in <a class="el" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">SVF::VersionedFlowSensitive</a>, and <a class="el" href="classSVF_1_1FlowSensitiveTBHC.html#a3564d6ad7e12e0a833b4cea203a809e4">SVF::FlowSensitiveTBHC</a>.</p>
1384
1384
 
1385
1385
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00133">133</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
1386
- <div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">&quot;fs_solved&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>&amp; <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">WPASolver&lt;SVFG*&gt;::SCCDetect</a>();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">while</span> (nodeStack.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = nodeStack.top();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; nodeStack.pop();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">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>(rep);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (subNodes.count() &gt; <a class="code" href="classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353">maxSCCSize</a>)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353">maxSCCSize</a> = subNodes.count();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span> (subNodes.count() &gt; 1)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ad2a7c4ec5e08b6ae423e305d01d432e4">numOfNodesInSCC</a> += subNodes.count();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ab6c2494ca36cefb5409c5c20befb326f">numOfSCC</a>++;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// TODO: check -stat too.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">Options::ClusterFs</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, std::string&gt;</a> stats;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// TODO: should we use liveOnly?</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;PointsTo, unsigned&gt;</a> allPts = ptd-&gt;getAllPts(<span class="keyword">true</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">// TODO: parameterise final arg.</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</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#a6c1885ddfcc72604463f7c4ea94d2f74">PointsTo::getCurrentBestNodeMapping</a>(), allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: best&quot;</span>, stats);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Do the same for the candidates. TODO: probably temporary for eval. purposes.</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector&lt;NodeID&gt;&gt; &amp;candidate : <a class="code" href="classSVF_1_1FlowSensitive.html#adba7ffe68ae7edce9b3aa896f978da6b">candidateMappings</a>)</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// Can reuse stats, since we&#39;re always filling it with `evaluate`, it will always be overwritten.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">NodeIDAllocator::Clusterer::evaluate</a>(candidate.second, allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: candidate &quot;</span> + <a class="code" href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVFUtil::hclustMethodToString</a>(candidate.first), stats);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00539">SVFG.cpp:539</a></div></div>
1386
+ <div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">Options::DumpVFG</a>)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="stringliteral">&quot;fs_solved&quot;</span>, <span class="keyword">true</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>&amp; <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = <a class="code" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">WPASolver&lt;SVFG*&gt;::SCCDetect</a>();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">while</span> (nodeStack.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = nodeStack.top();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; nodeStack.pop();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">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>(rep);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">if</span> (subNodes.count() &gt; <a class="code" href="classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353">maxSCCSize</a>)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353">maxSCCSize</a> = subNodes.count();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">if</span> (subNodes.count() &gt; 1)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ad2a7c4ec5e08b6ae423e305d01d432e4">numOfNodesInSCC</a> += subNodes.count();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ab6c2494ca36cefb5409c5c20befb326f">numOfSCC</a>++;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="comment">// TODO: check -stat too.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">Options::ClusterFs</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, std::string&gt;</a> stats;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</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="l00158"></a><span class="lineno"> 158</span>&#160; <span class="comment">// TODO: should we use liveOnly?</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;PointsTo, unsigned&gt;</a> allPts = ptd-&gt;getAllPts(<span class="keyword">true</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="comment">// TODO: parameterise final arg.</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</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#a6c1885ddfcc72604463f7c4ea94d2f74">PointsTo::getCurrentBestNodeMapping</a>(), allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: best&quot;</span>, stats);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="comment">// Do the same for the candidates. TODO: probably temporary for eval. purposes.</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">for</span> (std::pair&lt;<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector&lt;NodeID&gt;&gt; &amp;candidate : <a class="code" href="classSVF_1_1FlowSensitive.html#adba7ffe68ae7edce9b3aa896f978da6b">candidateMappings</a>)</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="comment">// Can reuse stats, since we&#39;re always filling it with `evaluate`, it will always be overwritten.</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">NodeIDAllocator::Clusterer::evaluate</a>(candidate.second, allPts, stats, <span class="keyword">true</span>);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">NodeIDAllocator::Clusterer::printStats</a>(<span class="stringliteral">&quot;post-main: candidate &quot;</span> + <a class="code" href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVFUtil::hclustMethodToString</a>(candidate.first), stats);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">BVDataPTAImpl::finalize</a>();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00539">SVFG.cpp:539</a></div></div>
1387
1387
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ab6c2494ca36cefb5409c5c20befb326f"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ab6c2494ca36cefb5409c5c20befb326f">SVF::FlowSensitive::numOfSCC</a></div><div class="ttdeci">Size_t numOfSCC</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00302">FlowSensitive.h:302</a></div></div>
1388
1388
  <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#l00161">PointerAnalysisImpl.h:161</a></div></div>
1389
1389
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00250">FlowSensitive.h:250</a></div></div>
1390
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a57ff2bf45ede7a730a8adaba8e61179d"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a57ff2bf45ede7a730a8adaba8e61179d">SVF::BVDataPTAImpl::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of pointer analysis, and normalize points-to information to Bit Vector representation...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00072">PointerAnalysisImpl.cpp:72</a></div></div>
1390
1391
  <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>
1391
1392
  <div class="ttc" id="classSVF_1_1Options_html_a9dc372635fc6f5ea2d902fc5c49fca8a"><div class="ttname"><a href="classSVF_1_1Options.html#a9dc372635fc6f5ea2d902fc5c49fca8a">SVF::Options::ClusterFs</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ClusterFs</div><div class="ttdoc">Whether to cluster FS or VFS with the auxiliary Andersen&amp;#39;s. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00043">Options.h:43</a></div></div>
1392
1393
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
@@ -1395,7 +1396,6 @@ Additional Inherited Members</h2></td></tr>
1395
1396
  <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#l00090">WPASolver.h:90</a></div></div>
1396
1397
  <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="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
1397
1398
  <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#l00678">NodeIDAllocator.cpp:678</a></div></div>
1398
- <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00222">PointerAnalysis.cpp:222</a></div></div>
1399
1399
  <div class="ttc" id="fastcluster_8h_html_a4205a14ad66b3320d2e94c61d74913dd"><div class="ttname"><a href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a></div><div class="ttdeci">hclust_fast_methods</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8h_source.html#l00065">fastcluster.h:65</a></div></div>
1400
1400
  <div class="ttc" id="classSVF_1_1Options_html_a3061c75f7491dd737222b1b877721070"><div class="ttname"><a href="classSVF_1_1Options.html#a3061c75f7491dd737222b1b877721070">SVF::Options::DumpVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00121">Options.h:121</a></div></div>
1401
1401
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a14a4c5124f2fd03ca3d898e2acd54160"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVF::SVFUtil::hclustMethodToString</a></div><div class="ttdeci">std::string hclustMethodToString(hclust_fast_methods method)</div><div class="ttdoc">Returns a string representation of a hclust method. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00365">SVFUtil.cpp:365</a></div></div>
@@ -1448,7 +1448,7 @@ Additional Inherited Members</h2></td></tr>
1448
1448
 
1449
1449
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00253">253</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1450
1450
  <div class="fragment"><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a259a92ea46f1d3a1dbd4a74ff07718d2">getDFInPtsSet</a>(stmt-&gt;getId(),node);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a259a92ea46f1d3a1dbd4a74ff07718d2"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a259a92ea46f1d3a1dbd4a74ff07718d2">SVF::DFPTData::getDFInPtsSet</a></div><div class="ttdeci">virtual const DataSet &amp; getDFInPtsSet(LocID loc, const Key &amp;var)=0</div></div>
1451
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
1451
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
1452
1452
  </div><!-- fragment -->
1453
1453
  </div>
1454
1454
  </div>
@@ -1477,7 +1477,7 @@ Additional Inherited Members</h2></td></tr>
1477
1477
  <p>Get IN/OUT data flow map. May only be called when the backing is MUTABLE. </p>
1478
1478
 
1479
1479
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00266">266</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1480
- <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">getDFIn</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00195">PointerAnalysisImpl.h:195</a></div></div>
1480
+ <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">getDFIn</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00191">PointerAnalysisImpl.h:191</a></div></div>
1481
1481
  <div class="ttc" id="classSVF_1_1MutableDFPTData_html_ae999df6f94a097f1fcb36979327790de"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#ae999df6f94a097f1fcb36979327790de">SVF::MutableDFPTData::getDFIn</a></div><div class="ttdeci">const DFPtsMap &amp; getDFIn()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00420">MutablePointsToDS.h:420</a></div></div>
1482
1482
  </div><!-- fragment -->
1483
1483
  </div>
@@ -1518,7 +1518,7 @@ Additional Inherited Members</h2></td></tr>
1518
1518
 
1519
1519
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00257">257</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1520
1520
  <div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#ad9b3bb99cfefb87424c408eae3ecfcec">getDFOutPtsSet</a>(stmt-&gt;getId(),node);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_ad9b3bb99cfefb87424c408eae3ecfcec"><div class="ttname"><a href="classSVF_1_1DFPTData.html#ad9b3bb99cfefb87424c408eae3ecfcec">SVF::DFPTData::getDFOutPtsSet</a></div><div class="ttdeci">virtual const DataSet &amp; getDFOutPtsSet(LocID loc, const Key &amp;var)=0</div></div>
1521
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
1521
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
1522
1522
  </div><!-- fragment -->
1523
1523
  </div>
1524
1524
  </div>
@@ -1546,7 +1546,7 @@ Additional Inherited Members</h2></td></tr>
1546
1546
  </div><div class="memdoc">
1547
1547
 
1548
1548
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00270">270</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
1549
- <div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">getDFOut</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00195">PointerAnalysisImpl.h:195</a></div></div>
1549
+ <div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">getMutDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">getDFOut</a>();</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_acbb979edee9427efa2a7c0dbd881c483"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#acbb979edee9427efa2a7c0dbd881c483">SVF::BVDataPTAImpl::getMutDFPTDataTy</a></div><div class="ttdeci">MutDFPTDataTy * getMutDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00191">PointerAnalysisImpl.h:191</a></div></div>
1550
1550
  <div class="ttc" id="classSVF_1_1MutableDFPTData_html_a6d02392602cf7956ff41e345518d683c"><div class="ttname"><a href="classSVF_1_1MutableDFPTData.html#a6d02392602cf7956ff41e345518d683c">SVF::MutableDFPTData::getDFOut</a></div><div class="ttdeci">const DFPtsMap &amp; getDFOut()</div><div class="ttdef"><b>Definition:</b> <a href="MutablePointsToDS_8h_source.html#l00424">MutablePointsToDS.h:424</a></div></div>
1551
1551
  </div><!-- fragment -->
1552
1552
  </div>
@@ -1807,7 +1807,7 @@ Additional Inherited Members</h2></td></tr>
1807
1807
  <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#l00131">PointerAnalysisImpl.h:131</a></div></div>
1808
1808
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00139">VFGNode.h:139</a></div></div>
1809
1809
  <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#l00155">PointerAnalysis.h:155</a></div></div>
1810
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1810
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1811
1811
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
1812
1812
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
1813
1813
  </div><!-- fragment -->
@@ -1845,7 +1845,7 @@ Additional Inherited Members</h2></td></tr>
1845
1845
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_ae7073c07bfd7912f888d54d4652c7cc2"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#ae7073c07bfd7912f888d54d4652c7cc2">SVF::BVDataPTAImpl::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00123">PointerAnalysisImpl.h:123</a></div></div>
1846
1846
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00139">VFGNode.h:139</a></div></div>
1847
1847
  <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#l00155">PointerAnalysis.h:155</a></div></div>
1848
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1848
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1849
1849
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a888d6334e5e226c634680e4c0674dcfb"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb">SVF::FlowSensitive::copyTime</a></div><div class="ttdeci">double copyTime</div><div class="ttdoc">time of handling copy edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00313">FlowSensitive.h:313</a></div></div>
1850
1850
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
1851
1851
  </div><!-- fragment -->
@@ -1892,7 +1892,7 @@ Additional Inherited Members</h2></td></tr>
1892
1892
  <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#l00155">PointerAnalysis.h:155</a></div></div>
1893
1893
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a45462312a746339fff8b990a093d9a1b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">SVF::PointerAnalysis::isBlkObjOrConstantObj</a></div><div class="ttdeci">virtual bool isBlkObjOrConstantObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00316">PointerAnalysis.h:316</a></div></div>
1894
1894
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00149">PointsTo.cpp:149</a></div></div>
1895
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1895
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1896
1896
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6423e0d1bc9a5ee6bfea27a4a358574f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6423e0d1bc9a5ee6bfea27a4a358574f">SVF::PointerAnalysis::getGepObjNode</a></div><div class="ttdeci">NodeID getGepObjNode(NodeID id, const LocationSet &amp;ls)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00357">PointerAnalysis.h:357</a></div></div>
1897
1897
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a282126e5b67ed4e19aa40c81180b8290"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a282126e5b67ed4e19aa40c81180b8290">SVF::FlowSensitive::gepTime</a></div><div class="ttdeci">double gepTime</div><div class="ttdoc">time of handling gep edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00314">FlowSensitive.h:314</a></div></div>
1898
1898
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
@@ -1941,7 +1941,7 @@ Additional Inherited Members</h2></td></tr>
1941
1941
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00098">PointerAnalysisImpl.h:98</a></div></div>
1942
1942
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00139">VFGNode.h:139</a></div></div>
1943
1943
  <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#l00155">PointerAnalysis.h:155</a></div></div>
1944
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1944
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1945
1945
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
1946
1946
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
1947
1947
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
@@ -2029,7 +2029,7 @@ Additional Inherited Members</h2></td></tr>
2029
2029
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00098">PointerAnalysisImpl.h:98</a></div></div>
2030
2030
  <div class="ttc" id="classSVF_1_1PHIVFGNode_html_abd54e567a0826bbec277302e0c4f78a2"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#abd54e567a0826bbec277302e0c4f78a2">SVF::PHIVFGNode::getRes</a></div><div class="ttdeci">const PAGNode * getRes() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00603">VFGNode.h:603</a></div></div>
2031
2031
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2032
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2032
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2033
2033
  <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#l00164">GenericGraph.h:164</a></div></div>
2034
2034
  <div class="ttc" id="classSVF_1_1PHIVFGNode_html_add18c60773871744123d12a037e78e20"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html#add18c60773871744123d12a037e78e20">SVF::PHIVFGNode::opVerEnd</a></div><div class="ttdeci">OPVers::const_iterator opVerEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00615">VFGNode.h:615</a></div></div>
2035
2035
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
@@ -2083,7 +2083,7 @@ Additional Inherited Members</h2></td></tr>
2083
2083
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00139">VFGNode.h:139</a></div></div>
2084
2084
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2085
2085
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00320">FlowSensitive.h:320</a></div></div>
2086
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2086
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2087
2087
  <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#l00164">GenericGraph.h:164</a></div></div>
2088
2088
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a82b76087363b26fbe749653935569de7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive::storeTime</a></div><div class="ttdeci">double storeTime</div><div class="ttdoc">time of store edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00316">FlowSensitive.h:316</a></div></div>
2089
2089
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a8ebe4342c1496b906ee1b6450558c3e8"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a8ebe4342c1496b906ee1b6450558c3e8">SVF::FlowSensitive::strongUpdateOutFromIn</a></div><div class="ttdeci">virtual bool strongUpdateOutFromIn(const SVFGNode *node, NodeID singleton)</div><div class="ttdoc">Handle strong updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00167">FlowSensitive.h:167</a></div></div>
@@ -2138,7 +2138,7 @@ Additional Inherited Members</h2></td></tr>
2138
2138
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_afd1b49d94168d5353611e6adbdf8e1c0"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#afd1b49d94168d5353611e6adbdf8e1c0">SVF::FlowSensitive::numOfProcessedLoad</a></div><div class="ttdeci">Size_t numOfProcessedLoad</div><div class="ttdoc">Number of processed Phi node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00295">FlowSensitive.h:295</a></div></div>
2139
2139
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2140
2140
  <div class="ttc" id="classSVF_1_1LoadVFGNode_html"><div class="ttname"><a href="classSVF_1_1LoadVFGNode.html">SVF::LoadVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00197">VFGNode.h:197</a></div></div>
2141
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2141
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2142
2142
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_abbc5289ac5600ae96a2b4cf4e16fc849"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#abbc5289ac5600ae96a2b4cf4e16fc849">SVF::FlowSensitive::numOfProcessedCopy</a></div><div class="ttdeci">Size_t numOfProcessedCopy</div><div class="ttdoc">Number of processed Addr node. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00292">FlowSensitive.h:292</a></div></div>
2143
2143
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a9968530b3dee876f55e6659530decf27"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a9968530b3dee876f55e6659530decf27">SVF::FlowSensitive::processLoad</a></div><div class="ttdeci">virtual bool processLoad(const LoadSVFGNode *load)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00523">FlowSensitive.cpp:523</a></div></div>
2144
2144
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_aa36fd1387e948e83107431179d819067"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aa36fd1387e948e83107431179d819067">SVF::FlowSensitive::processPhi</a></div><div class="ttdeci">virtual bool processPhi(const PHISVFGNode *phi)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00447">FlowSensitive.cpp:447</a></div></div>
@@ -2283,7 +2283,7 @@ Additional Inherited Members</h2></td></tr>
2283
2283
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
2284
2284
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2285
2285
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
2286
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2286
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2287
2287
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ae086de68233375be42185f0af706687a"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae086de68233375be42185f0af706687a">SVF::FlowSensitive::directPropaTime</a></div><div class="ttdeci">double directPropaTime</div><div class="ttdoc">time of points-to propagation of address-taken objects </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00309">FlowSensitive.h:309</a></div></div>
2288
2288
  <div class="ttc" id="classSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00952">VFGNode.h:952</a></div></div>
2289
2289
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a3abffe1434386b1ce349fbed0cfe0967"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a3abffe1434386b1ce349fbed0cfe0967">SVF::FlowSensitive::propagateFromFRToAR</a></div><div class="ttdeci">virtual bool propagateFromFRToAR(const FormalRetSVFGNode *fr, const SVFGNode *dst)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00344">FlowSensitive.cpp:344</a></div></div>
@@ -2328,7 +2328,7 @@ Additional Inherited Members</h2></td></tr>
2328
2328
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
2329
2329
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2330
2330
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
2331
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2331
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2332
2332
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
2333
2333
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ae571767cc5936cf631a44976d8277e91"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae571767cc5936cf631a44976d8277e91">SVF::FlowSensitive::propVarPtsFromSrcToDst</a></div><div class="ttdeci">virtual bool propVarPtsFromSrcToDst(NodeID var, const SVFGNode *src, const SVFGNode *dst)</div><div class="ttdoc">Propagate points-to information of a certain variable from src to dst. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00399">FlowSensitive.cpp:399</a></div></div>
2334
2334
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00370">PointerAnalysis.h:370</a></div></div>
@@ -2389,7 +2389,7 @@ Additional Inherited Members</h2></td></tr>
2389
2389
 
2390
2390
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00182">182</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
2391
2391
  <div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a506a2be8f909663d59245254bddea00b">updateAllDFInFromIn</a>(srcStmt-&gt;getId(), srcVar, dstStmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a506a2be8f909663d59245254bddea00b"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a506a2be8f909663d59245254bddea00b">SVF::DFPTData::updateAllDFInFromIn</a></div><div class="ttdeci">virtual bool updateAllDFInFromIn(LocID srcLoc, const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div><div class="ttdoc">Union (IN[dstLoc::dstVar], IN[srcLoc:srcVar]. There is no flag check, unlike the above. </div></div>
2392
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
2392
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
2393
2393
  </div><!-- fragment -->
2394
2394
  </div>
2395
2395
  </div>
@@ -2443,7 +2443,7 @@ Additional Inherited Members</h2></td></tr>
2443
2443
 
2444
2444
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00178">178</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
2445
2445
  <div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a96a5d7e867095b3c215c73599fd31c19">updateAllDFInFromOut</a>(srcStmt-&gt;getId(), srcVar, dstStmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a96a5d7e867095b3c215c73599fd31c19"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a96a5d7e867095b3c215c73599fd31c19">SVF::DFPTData::updateAllDFInFromOut</a></div><div class="ttdeci">virtual bool updateAllDFInFromOut(LocID srcLoc, const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div><div class="ttdoc">Union (IN[dstLoc::dstVar], OUT[srcLoc:srcVar]. There is no flag check, unlike the above...</div></div>
2446
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
2446
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
2447
2447
  </div><!-- fragment -->
2448
2448
  </div>
2449
2449
  </div>
@@ -2484,7 +2484,7 @@ Additional Inherited Members</h2></td></tr>
2484
2484
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ad3518931d3b8a0671cbeb975f853b956"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad3518931d3b8a0671cbeb975f853b956">SVF::FlowSensitive::propAlongDirectEdge</a></div><div class="ttdeci">virtual bool propAlongDirectEdge(const DirectSVFGEdge *edge)</div><div class="ttdoc">Propagate points-to information along a DIRECT SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00297">FlowSensitive.cpp:297</a></div></div>
2485
2485
  <div class="ttc" id="classSVF_1_1DirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1DirectSVFGEdge.html">SVF::DirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00141">VFGEdge.h:141</a></div></div>
2486
2486
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2487
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2487
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2488
2488
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ac4d4b42bb96006801597f81ed3c4b337"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ac4d4b42bb96006801597f81ed3c4b337">SVF::FlowSensitive::propagationTime</a></div><div class="ttdeci">double propagationTime</div><div class="ttdoc">time of points-to propagation. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00308">FlowSensitive.h:308</a></div></div>
2489
2489
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
2490
2490
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
@@ -2714,7 +2714,7 @@ Additional Inherited Members</h2></td></tr>
2714
2714
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_af496fa9aa2f4d59594950b2ad121deff"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af496fa9aa2f4d59594950b2ad121deff">SVF::FlowSensitive::sccTime</a></div><div class="ttdeci">double sccTime</div><div class="ttdoc">time of SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00306">FlowSensitive.h:306</a></div></div>
2715
2715
  <div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2d4cfae34bd4a55f1fe03881c87f8708"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SVF::WPAFSSolver::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="WPAFSSolver_8h_source.html#l00067">WPAFSSolver.h:67</a></div></div>
2716
2716
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2717
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2717
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2718
2718
  <div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2cb80102611c663c4daddd68b4f4b75f"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">SVF::WPAFSSolver::nodeStack</a></div><div class="ttdeci">NodeStack nodeStack</div><div class="ttdoc">stack used for processing nodes. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00064">WPAFSSolver.h:64</a></div></div>
2719
2719
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
2720
2720
  </div><!-- fragment -->
@@ -2758,7 +2758,7 @@ Additional Inherited Members</h2></td></tr>
2758
2758
 
2759
2759
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00167">167</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
2760
2760
  <div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">updateAllDFOutFromIn</a>(node-&gt;getId(),singleton,<span class="keyword">true</span>);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a7e4ae809b40d55448de0103746254158"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">SVF::DFPTData::updateAllDFOutFromIn</a></div><div class="ttdeci">virtual bool updateAllDFOutFromIn(LocID loc, const Key &amp;singleton, bool strongUpdates)=0</div><div class="ttdoc">For each variable var in IN at loc, do updateDFOutFromIn(loc, var, loc, var). </div></div>
2761
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
2761
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
2762
2762
  </div><!-- fragment -->
2763
2763
  </div>
2764
2764
  </div>
@@ -2831,7 +2831,7 @@ Additional Inherited Members</h2></td></tr>
2831
2831
 
2832
2832
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00203">203</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
2833
2833
  <div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#aaa6f67ff5daf7d71a3ad62316a7dd872">updateTLVPts</a>(stmt-&gt;getId(),srcVar,dstVar);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_aaa6f67ff5daf7d71a3ad62316a7dd872"><div class="ttname"><a href="classSVF_1_1DFPTData.html#aaa6f67ff5daf7d71a3ad62316a7dd872">SVF::DFPTData::updateTLVPts</a></div><div class="ttdeci">virtual bool updateTLVPts(LocID srcLoc, const Key &amp;srcVar, const Key &amp;dstVar)=0</div><div class="ttdoc">Update points-to set of top-level pointers with IN[srcLoc:srcVar]. </div></div>
2834
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
2834
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
2835
2835
  </div><!-- fragment -->
2836
2836
  </div>
2837
2837
  </div>
@@ -2879,7 +2879,7 @@ Additional Inherited Members</h2></td></tr>
2879
2879
 
2880
2880
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00207">207</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
2881
2881
  <div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a09bc4b7eef592af2c2c84b60029b5b52">updateATVPts</a>(srcVar,stmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a09bc4b7eef592af2c2c84b60029b5b52"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a09bc4b7eef592af2c2c84b60029b5b52">SVF::DFPTData::updateATVPts</a></div><div class="ttdeci">virtual bool updateATVPts(const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div><div class="ttdoc">Update address-taken variables OUT[dstLoc:dstVar] with points-to of top-level pointers. </div></div>
2882
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
2882
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
2883
2883
  </div><!-- fragment -->
2884
2884
  </div>
2885
2885
  </div>
@@ -2915,14 +2915,14 @@ Additional Inherited Members</h2></td></tr>
2915
2915
 
2916
2916
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00653">653</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
2917
2917
  <div class="fragment"><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> start = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#aa9661d26d1ae9c829a9296d1b6d874f4">CallEdgeMap</a> newEdges;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a9830d4676fd424b633f8e4d918734296">onTheFlyCallGraphSolve</a>(callsites, newEdges);</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="comment">// Bound the new edges by the Andersen&#39;s call graph.</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; <span class="comment">// TODO: we want this to be an assertion eventually.</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aa9661d26d1ae9c829a9296d1b6d874f4">CallEdgeMap</a> &amp;andersCallEdgeMap = <a class="code" href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">ander</a>-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>();</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">typename</span> CallEdgeMap::value_type &amp;csfs : newEdges)</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *potentialCallSite = csfs.first;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &amp;potentialFunctionSet = csfs.second;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="comment">// Check this callsite even calls anything per Andersen&#39;s.</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keyword">typename</span> CallEdgeMap::const_iterator andersFunctionSetIt</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; = andersCallEdgeMap.find(potentialCallSite);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (andersFunctionSetIt == andersCallEdgeMap.end())</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; potentialFunctionSet.clear();</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a> &amp;andersFunctionSet = andersFunctionSetIt-&gt;second;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">for</span> (FunctionSet::iterator potentialFunctionIt = potentialFunctionSet.begin();</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; potentialFunctionIt != potentialFunctionSet.end(); )</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *potentialFunction = *potentialFunctionIt;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">if</span> (andersFunctionSet.find(potentialFunction) == andersFunctionSet.end())</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; {</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="comment">// potentialFunction is not in the Andersen&#39;s call graph -- remove it.</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; potentialFunctionIt = potentialFunctionSet.erase(potentialFunctionIt);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="comment">// potentialFunction is in the Andersen&#39;s call graph -- keep it..</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; ++potentialFunctionIt;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; }</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; }</div><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; <a class="code" href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVFGEdgeSetTy</a> svfgEdges;</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#ad7640ada31b5cb542e492e27ab4fe1af">connectCallerAndCallee</a>(newEdges, svfgEdges);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#a1886b4964efa92cfff761493d12768b8">updateConnectedNodes</a>(svfgEdges);</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</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_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <a class="code" href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">updateCallGraphTime</a> += (end - start) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> (!newEdges.empty());</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;}</div><div class="ttc" id="classSVF_1_1FlowSensitive_html_a1886b4964efa92cfff761493d12768b8"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a1886b4964efa92cfff761493d12768b8">SVF::FlowSensitive::updateConnectedNodes</a></div><div class="ttdeci">virtual void updateConnectedNodes(const SVFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Update nodes connected during updating call graph. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00726">FlowSensitive.cpp:726</a></div></div>
2918
- <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#l00374">PointerAnalysisImpl.cpp:374</a></div></div>
2918
+ <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#l00381">PointerAnalysisImpl.cpp:381</a></div></div>
2919
2919
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
2920
2920
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_afc140b6c8e78dc2d962f64fdf53b1e07"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07">SVF::FlowSensitive::updateCallGraphTime</a></div><div class="ttdeci">double updateCallGraphTime</div><div class="ttdoc">time of updating call graph </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00318">FlowSensitive.h:318</a></div></div>
2921
2921
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aa9661d26d1ae9c829a9296d1b6d874f4"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa9661d26d1ae9c829a9296d1b6d874f4">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap&lt; const CallBlockNode *, FunctionSet &gt; CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00111">PointerAnalysis.h:111</a></div></div>
2922
2922
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00110">PointerAnalysis.h:110</a></div></div>
2923
2923
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap &amp; getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00391">PointerAnalysis.h:391</a></div></div>
2924
2924
  <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#l00155">PointerAnalysis.h:155</a></div></div>
2925
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2925
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2926
2926
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a69289c48fa91f850da90de080b9d26e5"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a69289c48fa91f850da90de080b9d26e5">SVF::FlowSensitive::SVFGEdgeSetTy</a></div><div class="ttdeci">SVFG::SVFGEdgeSetTy SVFGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00053">FlowSensitive.h:53</a></div></div>
2927
2927
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ad7640ada31b5cb542e492e27ab4fe1af"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad7640ada31b5cb542e492e27ab4fe1af">SVF::FlowSensitive::connectCallerAndCallee</a></div><div class="ttdeci">void connectCallerAndCallee(const CallEdgeMap &amp;newEdges, SVFGEdgeSetTy &amp;edges)</div><div class="ttdoc">Connect nodes in SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00706">FlowSensitive.cpp:706</a></div></div>
2928
2928
  <div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
@@ -3028,7 +3028,7 @@ Additional Inherited Members</h2></td></tr>
3028
3028
 
3029
3029
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00194">194</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
3030
3030
  <div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a88cf9cd48ee5c1b8b3c71b379f23ab6b">updateDFInFromIn</a>(srcStmt-&gt;getId(),srcVar, dstStmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a88cf9cd48ee5c1b8b3c71b379f23ab6b"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a88cf9cd48ee5c1b8b3c71b379f23ab6b">SVF::DFPTData::updateDFInFromIn</a></div><div class="ttdeci">virtual bool updateDFInFromIn(LocID srcLoc, const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div></div>
3031
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
3031
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
3032
3032
  </div><!-- fragment -->
3033
3033
  </div>
3034
3034
  </div>
@@ -3082,7 +3082,7 @@ Additional Inherited Members</h2></td></tr>
3082
3082
 
3083
3083
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00198">198</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
3084
3084
  <div class="fragment"><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a2ec4fb73d87f10c86fac34b3500532b3">updateDFInFromOut</a>(srcStmt-&gt;getId(),srcVar, dstStmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a2ec4fb73d87f10c86fac34b3500532b3"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a2ec4fb73d87f10c86fac34b3500532b3">SVF::DFPTData::updateDFInFromOut</a></div><div class="ttdeci">virtual bool updateDFInFromOut(LocID srcLoc, const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div><div class="ttdoc">Union (IN[dstLoc:dstVar], OUT[srcLoc:srcVar]). </div></div>
3085
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
3085
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
3086
3086
  </div><!-- fragment -->
3087
3087
  </div>
3088
3088
  </div>
@@ -3136,7 +3136,7 @@ Additional Inherited Members</h2></td></tr>
3136
3136
 
3137
3137
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00190">190</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
3138
3138
  <div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#acee5fb134d3153ae6eb91c15cd2cff66">updateDFOutFromIn</a>(srcStmt-&gt;getId(),srcVar, dstStmt-&gt;getId(),dstVar);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_acee5fb134d3153ae6eb91c15cd2cff66"><div class="ttname"><a href="classSVF_1_1DFPTData.html#acee5fb134d3153ae6eb91c15cd2cff66">SVF::DFPTData::updateDFOutFromIn</a></div><div class="ttdeci">virtual bool updateDFOutFromIn(LocID srcLoc, const Key &amp;srcVar, LocID dstLoc, const Key &amp;dstVar)=0</div><div class="ttdoc">Union (OUT[dstLoc:dstVar], IN[srcLoc:srcVar]). </div></div>
3139
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
3139
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
3140
3140
  </div><!-- fragment -->
3141
3141
  </div>
3142
3142
  </div>
@@ -3168,7 +3168,7 @@ Additional Inherited Members</h2></td></tr>
3168
3168
 
3169
3169
  <p class="definition">Definition at line <a class="el" href="FlowSensitive_8h_source.html#l00162">162</a> of file <a class="el" href="FlowSensitive_8h_source.html">FlowSensitive.h</a>.</p>
3170
3170
  <div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">getDFPTDataTy</a>()-&gt;<a class="code" href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">updateAllDFOutFromIn</a>(node-&gt;getId(),0,<span class="keyword">false</span>);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="ttc" id="classSVF_1_1DFPTData_html_a7e4ae809b40d55448de0103746254158"><div class="ttname"><a href="classSVF_1_1DFPTData.html#a7e4ae809b40d55448de0103746254158">SVF::DFPTData::updateAllDFOutFromIn</a></div><div class="ttdeci">virtual bool updateAllDFOutFromIn(LocID loc, const Key &amp;singleton, bool strongUpdates)=0</div><div class="ttdoc">For each variable var in IN at loc, do updateDFOutFromIn(loc, var, loc, var). </div></div>
3171
- <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00188">PointerAnalysisImpl.h:188</a></div></div>
3171
+ <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a642613e98982259183d3f34a97f05502"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a642613e98982259183d3f34a97f05502">SVF::BVDataPTAImpl::getDFPTDataTy</a></div><div class="ttdeci">DFPTDataTy * getDFPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00184">PointerAnalysisImpl.h:184</a></div></div>
3172
3172
  </div><!-- fragment -->
3173
3173
  </div>
3174
3174
  </div>