svf-tools 1.0.302 → 1.0.306

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 (452) hide show
  1. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  5. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +4 -4
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +12 -12
  7. package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
  8. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +20 -20
  10. package/SVF-doxygen/html/html/Andersen_8h_source.html +15 -15
  11. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +6 -6
  12. package/SVF-doxygen/html/html/CHG_8cpp.html +7 -6
  13. package/SVF-doxygen/html/html/CHG_8cpp_source.html +42 -41
  14. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  15. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
  17. package/SVF-doxygen/html/html/CommonCHG_8h_source.html +1 -1
  18. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +2 -2
  19. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
  20. package/SVF-doxygen/html/html/Conditions_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
  22. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +9 -9
  25. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  26. package/SVF-doxygen/html/html/CoreBitVector_8h.html +2 -0
  27. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +3 -1
  28. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  29. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +5 -5
  30. package/SVF-doxygen/html/html/DCHG_8h_source.html +4 -4
  31. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  32. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  33. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +11 -11
  34. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +8 -8
  36. package/SVF-doxygen/html/html/DDAStat_8h_source.html +2 -2
  37. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  38. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
  41. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +3 -3
  43. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +8 -8
  44. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  45. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
  46. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  47. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  48. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +8 -8
  49. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +3 -3
  50. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +16 -16
  51. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +4 -4
  52. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +2 -2
  56. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +3 -3
  59. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
  64. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  66. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +8 -8
  67. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +6 -6
  68. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
  69. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/MHP_8cpp_source.html +12 -12
  71. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  72. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  73. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  74. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  75. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +5 -5
  76. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
  77. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  78. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  79. package/SVF-doxygen/html/html/MTA_8cpp_source.html +7 -7
  80. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  81. package/SVF-doxygen/html/html/MemModel_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/html/MemPartition_8h_source.html +3 -3
  84. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +5 -5
  85. package/SVF-doxygen/html/html/MemRegion_8h_source.html +4 -4
  86. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +7 -7
  87. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  88. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  89. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +11 -11
  90. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
  93. package/SVF-doxygen/html/html/Options_8cpp_source.html +112 -110
  94. package/SVF-doxygen/html/html/Options_8h.html +1 -0
  95. package/SVF-doxygen/html/html/Options_8h_source.html +114 -111
  96. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +3 -3
  97. package/SVF-doxygen/html/html/PAGEdge_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/PAG_8cpp_source.html +6 -6
  99. package/SVF-doxygen/html/html/PAG_8h_source.html +5 -5
  100. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  102. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  103. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +3 -3
  104. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +20 -18
  105. package/SVF-doxygen/html/html/PTAStat_8h_source.html +19 -17
  106. package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
  107. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  108. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  109. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +2 -2
  110. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  111. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
  112. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +4 -4
  113. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +19 -19
  114. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
  115. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +4 -5
  116. package/SVF-doxygen/html/html/PointsTo_8h_source.html +2 -2
  117. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  118. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
  119. package/SVF-doxygen/html/html/SCC_8h_source.html +3 -3
  120. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +32 -26
  121. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +52 -49
  122. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +6 -6
  123. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +2 -2
  124. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  125. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
  126. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  127. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +11 -11
  128. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +5 -5
  129. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  130. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  131. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  132. package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
  133. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  134. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -3
  135. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  136. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +4 -4
  137. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  138. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  139. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +3 -3
  140. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  141. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
  142. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  143. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  144. package/SVF-doxygen/html/html/TCT_8cpp_source.html +5 -5
  145. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  146. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
  147. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  148. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  149. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
  150. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  151. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
  152. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +2 -2
  153. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  154. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  155. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  156. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  157. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +10 -8
  158. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp.html +3 -0
  159. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +80 -67
  160. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h.html +3 -2
  161. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +78 -69
  162. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +8 -8
  163. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  164. package/SVF-doxygen/html/html/WPASolver_8h_source.html +24 -24
  165. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  166. package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
  167. package/SVF-doxygen/html/html/annotated.html +189 -186
  168. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  172. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +14 -14
  173. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +3 -3
  174. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -8
  175. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +19 -19
  176. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  177. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat-members.html +10 -7
  178. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +19 -15
  179. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +10 -10
  180. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +4 -4
  181. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
  182. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +4 -4
  184. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +91 -91
  185. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +17 -17
  192. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +7 -7
  196. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  197. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +11 -11
  198. package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +5 -2
  199. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +14 -10
  200. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +27 -27
  201. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +3 -3
  202. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +4 -4
  203. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +14 -14
  205. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +53 -53
  206. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat-members.html +5 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -13
  208. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +24 -24
  209. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +13 -13
  210. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  215. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  221. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat-members.html +5 -2
  222. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +7 -3
  223. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +3 -3
  227. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +8 -8
  229. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  230. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  232. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +36 -36
  233. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
  234. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +31 -31
  235. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -20
  236. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +9 -9
  238. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
  239. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +12 -12
  240. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +18 -18
  241. package/SVF-doxygen/html/html/classSVF_1_1MTAStat-members.html +6 -3
  242. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +17 -13
  243. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +19 -19
  245. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +5 -2
  246. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +12 -8
  247. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +17 -17
  250. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +2 -2
  253. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +102 -100
  254. package/SVF-doxygen/html/html/classSVF_1_1Options.html +166 -111
  255. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +6 -6
  256. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +29 -29
  257. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +3 -3
  258. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +2 -2
  259. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
  260. package/SVF-doxygen/html/html/classSVF_1_1PTAStat-members.html +6 -3
  261. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +87 -56
  262. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +8 -8
  263. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  264. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  265. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
  266. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
  267. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +23 -23
  268. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +7 -7
  269. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +5 -5
  270. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  271. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +6 -6
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +12 -12
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +11 -8
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +40 -36
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  283. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
  284. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +12 -12
  285. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -5
  286. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +17 -17
  288. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +16 -16
  289. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  290. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  294. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +5 -5
  295. package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +3 -3
  298. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  300. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +161 -162
  301. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +578 -539
  302. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +7 -4
  303. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +32 -29
  304. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC-members.html +83 -0
  305. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +297 -0
  306. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -7
  308. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  309. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +9 -9
  310. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +60 -60
  311. package/SVF-doxygen/html/html/classes.html +96 -95
  312. package/SVF-doxygen/html/html/functions_b.html +11 -5
  313. package/SVF-doxygen/html/html/functions_c.html +24 -18
  314. package/SVF-doxygen/html/html/functions_d.html +13 -4
  315. package/SVF-doxygen/html/html/functions_e.html +3 -0
  316. package/SVF-doxygen/html/html/functions_enum.html +3 -0
  317. package/SVF-doxygen/html/html/functions_eval_c.html +3 -0
  318. package/SVF-doxygen/html/html/functions_eval_w.html +76 -0
  319. package/SVF-doxygen/html/html/functions_f.html +14 -14
  320. package/SVF-doxygen/html/html/functions_func_b.html +6 -0
  321. package/SVF-doxygen/html/html/functions_func_d.html +7 -4
  322. package/SVF-doxygen/html/html/functions_func_g.html +15 -9
  323. package/SVF-doxygen/html/html/functions_func_i.html +11 -11
  324. package/SVF-doxygen/html/html/functions_func_m.html +0 -3
  325. package/SVF-doxygen/html/html/functions_func_n.html +1 -4
  326. package/SVF-doxygen/html/html/functions_func_o.html +6 -4
  327. package/SVF-doxygen/html/html/functions_func_r.html +4 -1
  328. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  329. package/SVF-doxygen/html/html/functions_func_v.html +2 -1
  330. package/SVF-doxygen/html/html/functions_g.html +15 -9
  331. package/SVF-doxygen/html/html/functions_i.html +23 -16
  332. package/SVF-doxygen/html/html/functions_l.html +12 -15
  333. package/SVF-doxygen/html/html/functions_m.html +1 -16
  334. package/SVF-doxygen/html/html/functions_n.html +3 -3
  335. package/SVF-doxygen/html/html/functions_o.html +17 -16
  336. package/SVF-doxygen/html/html/functions_p.html +16 -13
  337. package/SVF-doxygen/html/html/functions_r.html +6 -8
  338. package/SVF-doxygen/html/html/functions_s.html +14 -16
  339. package/SVF-doxygen/html/html/functions_t.html +9 -9
  340. package/SVF-doxygen/html/html/functions_type_l.html +1 -4
  341. package/SVF-doxygen/html/html/functions_type_m.html +1 -1
  342. package/SVF-doxygen/html/html/functions_type_n.html +3 -0
  343. package/SVF-doxygen/html/html/functions_type_o.html +0 -3
  344. package/SVF-doxygen/html/html/functions_type_v.html +0 -3
  345. package/SVF-doxygen/html/html/functions_u.html +3 -3
  346. package/SVF-doxygen/html/html/functions_v.html +8 -10
  347. package/SVF-doxygen/html/html/functions_vars_c.html +3 -3
  348. package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
  349. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  350. package/SVF-doxygen/html/html/functions_vars_i.html +7 -0
  351. package/SVF-doxygen/html/html/functions_vars_l.html +3 -3
  352. package/SVF-doxygen/html/html/functions_vars_m.html +0 -12
  353. package/SVF-doxygen/html/html/functions_vars_o.html +3 -3
  354. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  355. package/SVF-doxygen/html/html/functions_vars_r.html +0 -3
  356. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  357. package/SVF-doxygen/html/html/functions_vars_y.html +0 -3
  358. package/SVF-doxygen/html/html/functions_w.html +5 -6
  359. package/SVF-doxygen/html/html/functions_y.html +0 -3
  360. package/SVF-doxygen/html/html/globals_f.html +3 -3
  361. package/SVF-doxygen/html/html/globals_r.html +3 -3
  362. package/SVF-doxygen/html/html/globals_s.html +6 -6
  363. package/SVF-doxygen/html/html/hierarchy.html +176 -173
  364. package/SVF-doxygen/html/html/menudata.js +2 -1
  365. package/SVF-doxygen/html/html/namespaceSVF.html +68 -30
  366. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  367. package/SVF-doxygen/html/html/namespacemembers_type_v.html +6 -0
  368. package/SVF-doxygen/html/html/namespacemembers_v.html +6 -0
  369. package/SVF-doxygen/html/html/search/all_10.js +4 -3
  370. package/SVF-doxygen/html/html/search/all_12.js +4 -4
  371. package/SVF-doxygen/html/html/search/all_13.js +12 -12
  372. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  373. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  374. package/SVF-doxygen/html/html/search/all_16.js +5 -4
  375. package/SVF-doxygen/html/html/search/all_17.js +2 -1
  376. package/SVF-doxygen/html/html/search/all_19.js +0 -1
  377. package/SVF-doxygen/html/html/search/all_2.js +2 -0
  378. package/SVF-doxygen/html/html/search/all_3.js +2 -1
  379. package/SVF-doxygen/html/html/search/all_4.js +5 -2
  380. package/SVF-doxygen/html/html/search/all_5.js +1 -0
  381. package/SVF-doxygen/html/html/search/all_6.js +6 -6
  382. package/SVF-doxygen/html/html/search/all_7.js +5 -3
  383. package/SVF-doxygen/html/html/search/all_8.js +2 -0
  384. package/SVF-doxygen/html/html/search/all_9.js +5 -3
  385. package/SVF-doxygen/html/html/search/all_c.js +4 -5
  386. package/SVF-doxygen/html/html/search/all_d.js +1 -6
  387. package/SVF-doxygen/html/html/search/all_e.js +5 -5
  388. package/SVF-doxygen/html/html/search/all_f.js +2 -3
  389. package/SVF-doxygen/html/html/search/classes_12.js +0 -1
  390. package/SVF-doxygen/html/html/search/classes_7.js +2 -0
  391. package/SVF-doxygen/html/html/search/classes_b.js +1 -0
  392. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  393. package/SVF-doxygen/html/html/search/enums_1.js +1 -0
  394. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  395. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -0
  396. package/SVF-doxygen/html/html/search/functions_1.js +2 -0
  397. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  398. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  399. package/SVF-doxygen/html/html/search/functions_3.js +3 -2
  400. package/SVF-doxygen/html/html/search/functions_6.js +5 -3
  401. package/SVF-doxygen/html/html/search/functions_8.js +2 -2
  402. package/SVF-doxygen/html/html/search/functions_b.js +0 -1
  403. package/SVF-doxygen/html/html/search/functions_c.js +0 -1
  404. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  405. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  406. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  407. package/SVF-doxygen/html/html/search/typedefs_14.js +2 -1
  408. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -2
  409. package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
  410. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -0
  411. package/SVF-doxygen/html/html/search/typedefs_e.js +0 -1
  412. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  413. package/SVF-doxygen/html/html/search/variables_12.js +0 -1
  414. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  415. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  416. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  417. package/SVF-doxygen/html/html/search/variables_19.js +0 -1
  418. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  419. package/SVF-doxygen/html/html/search/variables_4.js +2 -0
  420. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  421. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  422. package/SVF-doxygen/html/html/search/variables_9.js +3 -1
  423. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  424. package/SVF-doxygen/html/html/search/variables_d.js +0 -4
  425. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  426. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  427. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01CoreBitVector_01_4-members.html +81 -0
  428. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01CoreBitVector_01_4.html +126 -0
  429. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  430. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData-members.html +83 -0
  431. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +145 -0
  432. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
  433. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  434. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  435. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  436. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4-members.html +81 -0
  437. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +129 -0
  438. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  439. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  440. package/include/Graphs/SVFGStat.h +10 -10
  441. package/include/MemoryModel/PTAStat.h +8 -2
  442. package/include/Util/CoreBitVector.h +8 -0
  443. package/include/Util/Options.h +6 -0
  444. package/include/Util/SVFBasicTypes.h +22 -2
  445. package/include/WPA/VersionedFlowSensitive.h +96 -65
  446. package/include/WPA/WPASolver.h +1 -2
  447. package/lib/SVF-FE/CHG.cpp +3 -2
  448. package/lib/Util/Options.cpp +16 -0
  449. package/lib/Util/PTAStat.cpp +17 -2
  450. package/lib/WPA/VersionedFlowSensitive.cpp +503 -229
  451. package/lib/WPA/VersionedFlowSensitiveStat.cpp +23 -38
  452. package/package.json +1 -1
@@ -728,7 +728,7 @@ Additional Inherited Members</h2></td></tr>
728
728
  <p>Constructor. </p>
729
729
 
730
730
  <p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00056">56</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
731
- <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aff20835f6fd320ccd2d2596db7945711">BVDataPTAImpl</a>(_pag, type, alias_check), <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00180">WPASolver.h:180</a></div></div>
731
+ <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; : <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aff20835f6fd320ccd2d2596db7945711">BVDataPTAImpl</a>(_pag, type, alias_check), <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a> = <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00179">WPASolver.h:179</a></div></div>
732
732
  <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>
733
733
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00149">Andersen.h:149</a></div></div>
734
734
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aff20835f6fd320ccd2d2596db7945711"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aff20835f6fd320ccd2d2596db7945711">SVF::BVDataPTAImpl::BVDataPTAImpl</a></div><div class="ttdeci">BVDataPTAImpl(PAG *pag, PointerAnalysis::PTATY type, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00025">PointerAnalysisImpl.cpp:25</a></div></div>
@@ -798,29 +798,29 @@ Additional Inherited Members</h2></td></tr>
798
798
  <p>Reimplemented in <a class="el" href="classSVF_1_1TypeAnalysis.html#a6073fc43443ceba8d77212ba04e483ef">SVF::TypeAnalysis</a>.</p>
799
799
 
800
800
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00094">94</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
801
- <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">initialize</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">bool</span> readResultsFromFile = <span class="keyword">false</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>()) {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; readResultsFromFile = this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a>(<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span>(!readResultsFromFile)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// Start solving constraints</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Start Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">Options::AnderTimeLimit</a>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d">printStat</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()))</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// Analysis is finished, reset the alarm if we set it.</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Finish Solving Constraints\n&quot;</span>));</div><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="comment">// Finalize the analysis</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">finalize</a>();</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;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>())</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00178">WPASolver.h:178</a></div></div>
801
+ <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">initialize</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">bool</span> readResultsFromFile = <span class="keyword">false</span>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>()) {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; readResultsFromFile = this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">readFromFile</a>(<a class="code" href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">Options::ReadAnder</a>);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="comment">// Finalize the analysis</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">PointerAnalysis::finalize</a>();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span>(!readResultsFromFile)</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// Start solving constraints</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Start Solving Constraints\n&quot;</span>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">bool</span> limitTimerSet = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVFUtil::startAnalysisLimitTimer</a>(<a class="code" href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">Options::AnderTimeLimit</a>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909">initWorklist</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a>++;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (0 == <a class="code" href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">numOfIteration</a> % <a class="code" href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">iterationForPrintStat</a>)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d">printStat</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">solveWorklist</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()))</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a>);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="comment">// Analysis is finished, reset the alarm if we set it.</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVFUtil::stopAnalysisLimitTimer</a>(limitTimerSet);</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;Finish Solving Constraints\n&quot;</span>));</div><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="comment">// Finalize the analysis</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">finalize</a>();</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;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>.<a class="code" href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a>())</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; this-&gt;<a class="code" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(<a class="code" href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">Options::WriteAnder</a>);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_ac460772d9236a2fefe17b2557023b883"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">SVF::WPASolver::reanalyze</a></div><div class="ttdeci">bool reanalyze</div><div class="ttdoc">Reanalyze if any constraint value changed. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00177">WPASolver.h:177</a></div></div>
802
802
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00280">PointerAnalysis.h:280</a></div></div>
803
- <div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00207">WPASolver.h:207</a></div></div>
803
+ <div class="ttc" id="classSVF_1_1WPASolver_html_ab3369caa278da03e6e6697a839985cd6"><div class="ttname"><a href="classSVF_1_1WPASolver.html#ab3369caa278da03e6e6697a839985cd6">SVF::WPASolver::numOfIteration</a></div><div class="ttdeci">u32_t numOfIteration</div><div class="ttdoc">num of iterations during constaint solving </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00206">WPASolver.h:206</a></div></div>
804
804
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a891816407a4c6346f56bc01a67b78aac"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a891816407a4c6346f56bc01a67b78aac">SVF::AndersenBase::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00064">Andersen.cpp:64</a></div></div>
805
- <div class="ttc" id="classSVF_1_1WPASolver_html_af1bb670efde7006e3e99b3735e4fc4cc"><div class="ttname"><a href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00113">WPASolver.h:113</a></div></div>
805
+ <div class="ttc" id="classSVF_1_1WPASolver_html_af1bb670efde7006e3e99b3735e4fc4cc"><div class="ttname"><a href="classSVF_1_1WPASolver.html#af1bb670efde7006e3e99b3735e4fc4cc">SVF::WPASolver::solveWorklist</a></div><div class="ttdeci">virtual void solveWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00112">WPASolver.h:112</a></div></div>
806
806
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
807
807
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a290501006cb700db0e07dc577429c928"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a290501006cb700db0e07dc577429c928">SVF::BVDataPTAImpl::readFromFile</a></div><div class="ttdeci">virtual bool readFromFile(const std::string &amp;filename)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00183">PointerAnalysisImpl.cpp:183</a></div></div>
808
- <div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00180">WPASolver.h:180</a></div></div>
808
+ <div class="ttc" id="classSVF_1_1WPASolver_html_aa7c0636780a86f376e9222bce771e859"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa7c0636780a86f376e9222bce771e859">SVF::WPASolver::iterationForPrintStat</a></div><div class="ttdeci">u32_t iterationForPrintStat</div><div class="ttdoc">print out statistics for i-th iteration </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00179">WPASolver.h:179</a></div></div>
809
809
  <div class="ttc" id="cuddInt_8c_html_a5beb39637a978181c7c17714ac96672e"><div class="ttname"><a href="cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e">empty</a></div><div class="ttdeci">static DdNode * empty</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l28567">cuddInt.c:28567</a></div></div>
810
810
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a25c68f9d2b88437778e854ff0d741d1b"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">SVF::BVDataPTAImpl::writeToFile</a></div><div class="ttdeci">virtual void writeToFile(const std::string &amp;filename)</div><div class="ttdoc">Interface for analysis result storage on filesystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00109">PointerAnalysisImpl.cpp:109</a></div></div>
811
811
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ac05796a5672ddb5bd0e08924d79da065"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ac05796a5672ddb5bd0e08924d79da065">SVF::AndersenBase::updateCallGraph</a></div><div class="ttdeci">virtual bool updateCallGraph(const CallSiteToFunPtrMap &amp;) override</div><div class="ttdoc">Implement it in child class to update call graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00080">Andersen.h:80</a></div></div>
812
812
  <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>
813
813
  <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>
814
- <div class="ttc" id="classSVF_1_1Options_html_a98a521e5c99c5248eae8f8234453b116"><div class="ttname"><a href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">SVF::Options::ReadAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; ReadAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00226">Options.h:226</a></div></div>
814
+ <div class="ttc" id="classSVF_1_1Options_html_a98a521e5c99c5248eae8f8234453b116"><div class="ttname"><a href="classSVF_1_1Options.html#a98a521e5c99c5248eae8f8234453b116">SVF::Options::ReadAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; ReadAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00232">Options.h:232</a></div></div>
815
815
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a28a1c3571cdee5e05004b29ace364e67"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a28a1c3571cdee5e05004b29ace364e67">SVF::AndersenBase::finalize</a></div><div class="ttdeci">virtual void finalize() override</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00080">Andersen.cpp:80</a></div></div>
816
816
  <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>
817
- <div class="ttc" id="classSVF_1_1Options_html_a4c7eb57066c80c62ef394d644833214a"><div class="ttname"><a href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">SVF::Options::WriteAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; WriteAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00224">Options.h:224</a></div></div>
818
- <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#l00149">SVFBasicTypes.h:149</a></div></div>
817
+ <div class="ttc" id="classSVF_1_1Options_html_a4c7eb57066c80c62ef394d644833214a"><div class="ttname"><a href="classSVF_1_1Options.html#a4c7eb57066c80c62ef394d644833214a">SVF::Options::WriteAnder</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; WriteAnder</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00230">Options.h:230</a></div></div>
818
+ <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>
819
819
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a566830d0c7a1f5cd967bb8f2ab168f8d"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d">SVF::AndersenBase::printStat</a></div><div class="ttdeci">void printStat()</div><div class="ttdoc">dump statistics </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00114">Andersen.h:114</a></div></div>
820
- <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#l00102">WPASolver.h:102</a></div></div>
821
- <div class="ttc" id="classSVF_1_1Options_html_a620fe156ba70f997eace0ccb0d2c9f67"><div class="ttname"><a href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">SVF::Options::AnderTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; AnderTimeLimit</div><div class="ttdoc">Time limit for the Andersen&amp;#39;s analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00071">Options.h:71</a></div></div>
820
+ <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>
821
+ <div class="ttc" id="classSVF_1_1Options_html_a620fe156ba70f997eace0ccb0d2c9f67"><div class="ttname"><a href="classSVF_1_1Options.html#a620fe156ba70f997eace0ccb0d2c9f67">SVF::Options::AnderTimeLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; AnderTimeLimit</div><div class="ttdoc">Time limit for the Andersen&amp;#39;s analyses. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00074">Options.h:74</a></div></div>
822
822
  <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>
823
- <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#l00144">SVFBasicTypes.h:144</a></div></div>
823
+ <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>
824
824
  </div><!-- fragment -->
825
825
  </div>
826
826
  </div>
@@ -957,9 +957,9 @@ Additional Inherited Members</h2></td></tr>
957
957
 
958
958
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00080">80</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
959
959
  <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">Options::ConsCGDotGraph</a>)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#af9fc8308845628fe8900528573e30462">dump</a>(<span class="stringliteral">&quot;consCG_final&quot;</span>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">Options::PrintCGGraph</a>)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">print</a>();</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a9128b7d4aaf4912b5db20aca4c22e852">BVDataPTAImpl::finalize</a>();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_aa87bf07fc538c2cf425138727e7acbce"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">SVF::ConstraintGraph::print</a></div><div class="ttdeci">void print()</div><div class="ttdoc">Print CG into terminal. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00532">ConsG.cpp:532</a></div></div>
960
- <div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00220">Options.h:220</a></div></div>
960
+ <div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00226">Options.h:226</a></div></div>
961
961
  <div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00149">Andersen.h:149</a></div></div>
962
- <div class="ttc" id="classSVF_1_1Options_html_a87516daebb3d1b5fee9037068d60e268"><div class="ttname"><a href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">SVF::Options::PrintCGGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintCGGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00222">Options.h:222</a></div></div>
962
+ <div class="ttc" id="classSVF_1_1Options_html_a87516daebb3d1b5fee9037068d60e268"><div class="ttname"><a href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">SVF::Options::PrintCGGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; PrintCGGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00228">Options.h:228</a></div></div>
963
963
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_af9fc8308845628fe8900528573e30462"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#af9fc8308845628fe8900528573e30462">SVF::ConstraintGraph::dump</a></div><div class="ttdeci">void dump(std::string name)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00524">ConsG.cpp:524</a></div></div>
964
964
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_a9128b7d4aaf4912b5db20aca4c22e852"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a9128b7d4aaf4912b5db20aca4c22e852">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_8h_source.html#l00168">PointerAnalysisImpl.h:168</a></div></div>
965
965
  </div><!-- fragment -->
@@ -1030,7 +1030,7 @@ Additional Inherited Members</h2></td></tr>
1030
1030
 
1031
1031
  <p class="definition">Definition at line <a class="el" href="Andersen_8cpp_source.html#l00064">64</a> of file <a class="el" href="Andersen_8cpp_source.html">Andersen.cpp</a>.</p>
1032
1032
  <div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;{</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">PointerAnalysis::initialize</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">setGraph</a>(<a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenStat.html">AndersenStat</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">Options::ConsCGDotGraph</a>)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#af9fc8308845628fe8900528573e30462">dump</a>(<span class="stringliteral">&quot;consCG_initial&quot;</span>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html">SVF::ConstraintGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00044">ConsG.h:44</a></div></div>
1033
- <div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00220">Options.h:220</a></div></div>
1033
+ <div class="ttc" id="classSVF_1_1Options_html_a69a7d0431c0ddfefed1cb97f3571303a"><div class="ttname"><a href="classSVF_1_1Options.html#a69a7d0431c0ddfefed1cb97f3571303a">SVF::Options::ConsCGDotGraph</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ConsCGDotGraph</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00226">Options.h:226</a></div></div>
1034
1034
  <div class="ttc" id="classSVF_1_1WPASolver_html_aa04deb39cd024c051f30ac43d1d62b34"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">SVF::WPASolver::setGraph</a></div><div class="ttdeci">void setGraph(GraphType g)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00082">WPASolver.h:82</a></div></div>
1035
1035
  <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>
1036
1036
  <div class="ttc" id="classSVF_1_1AndersenStat_html"><div class="ttname"><a href="classSVF_1_1AndersenStat.html">SVF::AndersenStat</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00049">WPAStat.h:49</a></div></div>
@@ -1078,7 +1078,7 @@ Additional Inherited Members</h2></td></tr>
1078
1078
  <p>Merge node and its pts to the rep node </p>
1079
1079
 
1080
1080
  <p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00104">104</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
1081
- <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; node = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(node);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(rep);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(rep, node))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(rep);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Once a &#39;Node&#39; is merged to its rep, it is collapsed,</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// only its &#39;NodeID&#39; remaining in the set &#39;subNodes&#39; of its rep node.</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a>(node, rep);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">setMergedNode</a>(node);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00163">WPASolver.h:163</a></div></div>
1081
+ <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; node = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(node);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(rep);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(rep, node))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(rep);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Once a &#39;Node&#39; is merged to its rep, it is collapsed,</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// only its &#39;NodeID&#39; remaining in the set &#39;subNodes&#39; of its rep node.</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a>(node, rep);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">setMergedNode</a>(node);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00162">WPASolver.h:162</a></div></div>
1082
1082
  <div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00226">Andersen.h:226</a></div></div>
1083
1083
  <div class="ttc" id="classSVF_1_1AndersenHCD_html_a6d6d770848a42c6291db663ab138461d"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">SVF::AndersenHCD::setMergedNode</a></div><div class="ttdeci">void setMergedNode(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00700">Andersen.h:700</a></div></div>
1084
1084
  <div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00695">Andersen.h:695</a></div></div>
@@ -1224,11 +1224,11 @@ Additional Inherited Members</h2></td></tr>
1224
1224
 
1225
1225
  <p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00059">59</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
1226
1226
  <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">//Merge detected offline SCC cycles</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1AndersenHCD.html#a2bbd6a0af75b17a70b1451a69cc3d5d7">mergeSCC</a>(nodeId);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// Keep solving until workList is empty.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">processNode</a>(nodeId);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</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>
1227
- <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00167">WPASolver.h:167</a></div></div>
1227
+ <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00166">WPASolver.h:166</a></div></div>
1228
1228
  <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00457">Andersen.cpp:457</a></div></div>
1229
1229
  <div class="ttc" id="classSVF_1_1AndersenHCD_html_a2bbd6a0af75b17a70b1451a69cc3d5d7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2bbd6a0af75b17a70b1451a69cc3d5d7">SVF::AndersenHCD::mergeSCC</a></div><div class="ttdeci">virtual void mergeSCC(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00078">AndersenHCD.cpp:78</a></div></div>
1230
1230
  <div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00214">Andersen.cpp:214</a></div></div>
1231
- <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00158">WPASolver.h:158</a></div></div>
1231
+ <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00157">WPASolver.h:157</a></div></div>
1232
1232
  <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00448">Andersen.cpp:448</a></div></div>
1233
1233
  </div><!-- fragment -->
1234
1234
  </div>
@@ -1017,7 +1017,7 @@ Additional Inherited Members</h2></td></tr>
1017
1017
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_aa830cfc0e46114751337e8ea3586d0bb"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#aa830cfc0e46114751337e8ea3586d0bb">SVF::AndersenLCD::addLCDCandidate</a></div><div class="ttdeci">void addLCDCandidate(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00607">Andersen.h:607</a></div></div>
1018
1018
  <div class="ttc" id="classSVF_1_1Andersen_html_ac4afe532655c3f311143ebbe15175ca2"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2">SVF::Andersen::processCopy</a></div><div class="ttdeci">virtual bool processCopy(NodeID node, const ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00352">Andersen.cpp:352</a></div></div>
1019
1019
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a4f374bbd066f9e8b1480184a1416b68b"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a4f374bbd066f9e8b1480184a1416b68b">SVF::AndersenLCD::isMetEdge</a></div><div class="ttdeci">bool isMetEdge(ConstraintEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00615">Andersen.h:615</a></div></div>
1020
- <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#l00171">SVFBasicTypes.h:171</a></div></div>
1020
+ <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>
1021
1021
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_ab77173aa8af6155b569f20ff0cdcec72"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">SVF::ConstraintNode::getCopyOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getCopyOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00128">ConsGNode.h:128</a></div></div>
1022
1022
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a19d3d2c996ba821227a836717e5443c8"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8">SVF::ConstraintNode::getGepOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getGepOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00136">ConsGNode.h:136</a></div></div>
1023
1023
  <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>
@@ -1026,7 +1026,7 @@ Additional Inherited Members</h2></td></tr>
1026
1026
  <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>
1027
1027
  <div class="ttc" id="classSVF_1_1Andersen_html_aa697d4a6fe09dd6e50abb09228b3567f"><div class="ttname"><a href="classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f">SVF::Andersen::processGep</a></div><div class="ttdeci">virtual bool processGep(NodeID node, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00372">Andersen.cpp:372</a></div></div>
1028
1028
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a0c5adfc0876e9bea02fe8ded41baeb91"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a0c5adfc0876e9bea02fe8ded41baeb91">SVF::AndersenLCD::addMetEdge</a></div><div class="ttdeci">void addMetEdge(ConstraintEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00620">Andersen.h:620</a></div></div>
1029
- <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#l00113">PTAStat.cpp:113</a></div></div>
1029
+ <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>
1030
1030
  </div><!-- fragment -->
1031
1031
  </div>
1032
1032
  </div>
@@ -1161,7 +1161,7 @@ Additional Inherited Members</h2></td></tr>
1161
1161
  <p>Reimplemented in <a class="el" href="classSVF_1_1AndersenHLCD.html#a59da289c87f9ab815a15e0a745bdc31f">SVF::AndersenHLCD</a>.</p>
1162
1162
 
1163
1163
  <p class="definition">Definition at line <a class="el" href="AndersenLCD_8cpp_source.html#l00131">131</a> of file <a class="el" href="AndersenLCD_8cpp_source.html">AndersenLCD.cpp</a>.</p>
1164
- <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span>(nodeId==newRepId)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">updatePropaPts</a>(newRepId, nodeId);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(newRepId,nodeId);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(newRepId);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> gepInsideScc = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aabe2861fcbc364e2c8aa8114d4879c39">moveEdgesToRepNode</a>(node, <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(newRepId));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">updateNodeRepAndSubs</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(),newRepId);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a9e21bc9b86080b4059f0907e9a7b33f3">removeConstraintNode</a>(node);</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; <span class="keywordflow">return</span> gepInsideScc;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00163">WPASolver.h:163</a></div></div>
1164
+ <div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;{</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">if</span>(nodeId==newRepId)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a4baa6fc95d52afa370fc0fabffd42018">updatePropaPts</a>(newRepId, nodeId);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(newRepId,nodeId);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(newRepId);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> gepInsideScc = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#aabe2861fcbc364e2c8aa8114d4879c39">moveEdgesToRepNode</a>(node, <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(newRepId));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">updateNodeRepAndSubs</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(),newRepId);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a9e21bc9b86080b4059f0907e9a7b33f3">removeConstraintNode</a>(node);</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; <span class="keywordflow">return</span> gepInsideScc;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;}</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00162">WPASolver.h:162</a></div></div>
1165
1165
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
1166
1166
  <div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &amp;target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00226">Andersen.h:226</a></div></div>
1167
1167
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_aabe2861fcbc364e2c8aa8114d4879c39"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aabe2861fcbc364e2c8aa8114d4879c39">SVF::ConstraintGraph::moveEdgesToRepNode</a></div><div class="ttdeci">bool moveEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00283">ConsG.h:283</a></div></div>
@@ -1232,18 +1232,18 @@ Additional Inherited Members</h2></td></tr>
1232
1232
 
1233
1233
  <p class="definition">Definition at line <a class="el" href="AndersenLCD_8cpp_source.html#l00103">103</a> of file <a class="el" href="AndersenLCD_8cpp_source.html">AndersenLCD.cpp</a>.</p>
1234
1234
  <div class="fragment"><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;{</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490">numOfSCCDetection</a>++;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> sccCandidates;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; sccCandidates.clear();</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span> (NodeSet::iterator it = <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.begin(); it != <a class="code" href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">lcdCandidates</a>.end(); ++it)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(*it) == *it)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; sccCandidates.insert(*it);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordtype">double</span> sccStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>(sccCandidates);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordtype">double</span> sccEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">timeOfSCCDetection</a> += (sccEnd - sccStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordtype">double</span> mergeStart = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">mergeSccCycle</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordtype">double</span> mergeEnd = <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">timeOfSCCMerges</a> += (mergeEnd - mergeStart) / <a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">topoNodeStack</a>();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;}</div><div class="ttc" id="classSVF_1_1SCCDetection_html_a6502c0a765ac1653474ffee651949f93"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">SVF::SCCDetection::topoNodeStack</a></div><div class="ttdeci">GNodeStack &amp; topoNodeStack()</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00128">SCC.h:128</a></div></div>
1235
- <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00116">SVFBasicTypes.h:116</a></div></div>
1235
+ <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00114">SVFBasicTypes.h:114</a></div></div>
1236
1236
  <div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
1237
1237
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a02c5a50b214d36921e1404784e76704d"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d">SVF::AndersenBase::timeOfSCCMerges</a></div><div class="ttdeci">static double timeOfSCCMerges</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00138">Andersen.h:138</a></div></div>
1238
1238
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a63823aa384f1438917c3625befa30bad"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a63823aa384f1438917c3625befa30bad">SVF::AndersenLCD::lcdCandidates</a></div><div class="ttdeci">NodeSet lcdCandidates</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00569">Andersen.h:569</a></div></div>
1239
1239
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6b7d0e57f741c446d0bf178939960143"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143">SVF::AndersenBase::timeOfSCCDetection</a></div><div class="ttdeci">static double timeOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00137">Andersen.h:137</a></div></div>
1240
1240
  <div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00071">WPASolver.h:71</a></div></div>
1241
1241
  <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>
1242
- <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#l00171">SVFBasicTypes.h:171</a></div></div>
1242
+ <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>
1243
1243
  <div class="ttc" id="classSVF_1_1Andersen_html_ac86ffd334568e4df5c08b3c827018bef"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac86ffd334568e4df5c08b3c827018bef">SVF::Andersen::mergeSccCycle</a></div><div class="ttdeci">void mergeSccCycle()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00472">Andersen.cpp:472</a></div></div>
1244
1244
  <div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00211">Andersen.h:211</a></div></div>
1245
1245
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a6da6e1231a46fde6925493045b8b2490"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490">SVF::AndersenBase::numOfSCCDetection</a></div><div class="ttdeci">static Size_t numOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00136">Andersen.h:136</a></div></div>
1246
- <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#l00113">PTAStat.cpp:113</a></div></div>
1246
+ <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>
1247
1247
  </div><!-- fragment -->
1248
1248
  </div>
1249
1249
  </div>
@@ -1276,10 +1276,10 @@ Additional Inherited Members</h2></td></tr>
1276
1276
 
1277
1277
  <p class="definition">Definition at line <a class="el" href="AndersenLCD_8cpp_source.html#l00039">39</a> of file <a class="el" href="AndersenLCD_8cpp_source.html">AndersenLCD.cpp</a>.</p>
1278
1278
  <div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Merge detected SCC cycles</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="classSVF_1_1AndersenLCD.html#a132fe3985f04b55b5e172649db7e44d7">mergeSCC</a>();</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// Keep solving until workList is empty.</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">processNode</a>(nodeId);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</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>
1279
- <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00167">WPASolver.h:167</a></div></div>
1279
+ <div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00166">WPASolver.h:166</a></div></div>
1280
1280
  <div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00457">Andersen.cpp:457</a></div></div>
1281
1281
  <div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00214">Andersen.cpp:214</a></div></div>
1282
- <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00158">WPASolver.h:158</a></div></div>
1282
+ <div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00157">WPASolver.h:157</a></div></div>
1283
1283
  <div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00448">Andersen.cpp:448</a></div></div>
1284
1284
  <div class="ttc" id="classSVF_1_1AndersenLCD_html_a132fe3985f04b55b5e172649db7e44d7"><div class="ttname"><a href="classSVF_1_1AndersenLCD.html#a132fe3985f04b55b5e172649db7e44d7">SVF::AndersenLCD::mergeSCC</a></div><div class="ttdeci">virtual void mergeSCC()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenLCD_8cpp_source.html#l00091">AndersenLCD.cpp:91</a></div></div>
1285
1285
  </div><!-- fragment -->