svf-tools 1.0.304 → 1.0.308

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 (449) 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 +5 -5
  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 +10 -10
  11. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +8 -8
  12. package/SVF-doxygen/html/html/CHG_8cpp_source.html +6 -6
  13. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
  16. package/SVF-doxygen/html/html/CommonCHG_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/Conditions_8h_source.html +2 -2
  20. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
  21. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +10 -10
  24. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  25. package/SVF-doxygen/html/html/CoreBitVector_8h.html +2 -0
  26. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +3 -1
  27. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +5 -5
  29. package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  31. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +11 -11
  33. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
  35. package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  37. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
  40. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +3 -3
  41. package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +3 -3
  42. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +8 -8
  43. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
  45. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -4
  46. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  47. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +8 -8
  48. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +14 -14
  50. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -5
  51. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
  52. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  56. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  57. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
  59. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
  63. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  64. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  65. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +7 -7
  66. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +6 -6
  67. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
  68. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/MHP_8cpp_source.html +11 -11
  70. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  71. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  73. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +5 -5
  75. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
  76. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  77. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/MTA_8cpp_source.html +6 -6
  79. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  80. package/SVF-doxygen/html/html/MemModel_8h_source.html +1 -1
  81. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  82. package/SVF-doxygen/html/html/MemPartition_8h_source.html +3 -3
  83. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
  84. package/SVF-doxygen/html/html/MemRegion_8h_source.html +4 -4
  85. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  86. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  87. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  88. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +4 -4
  89. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +2 -2
  90. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  91. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
  92. package/SVF-doxygen/html/html/Options_8cpp_source.html +97 -96
  93. package/SVF-doxygen/html/html/Options_8h_source.html +97 -96
  94. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +3 -3
  95. package/SVF-doxygen/html/html/PAGEdge_8h_source.html +1 -1
  96. package/SVF-doxygen/html/html/PAG_8cpp_source.html +7 -7
  97. package/SVF-doxygen/html/html/PAG_8h_source.html +5 -5
  98. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  100. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  101. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +3 -3
  102. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +11 -10
  103. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  104. package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
  105. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +5 -5
  106. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +3 -3
  107. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +27 -24
  108. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +3 -3
  109. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +21 -17
  110. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +72 -72
  111. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  112. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
  113. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  114. package/SVF-doxygen/html/html/PointsTo_8h_source.html +2 -2
  115. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  116. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +2 -2
  117. package/SVF-doxygen/html/html/SCC_8h_source.html +3 -3
  118. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +33 -27
  119. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +52 -49
  120. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +6 -6
  121. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +2 -2
  122. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  123. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
  124. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
  125. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +4 -4
  126. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +3 -3
  127. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
  128. package/SVF-doxygen/html/html/SVFG_8h_source.html +2 -2
  129. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  130. package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
  131. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +10 -9
  132. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +7 -7
  133. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  134. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +4 -4
  135. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  136. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  137. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +3 -3
  138. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  139. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
  140. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +5 -5
  141. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  142. package/SVF-doxygen/html/html/TCT_8cpp_source.html +5 -5
  143. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  144. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
  145. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  146. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  147. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
  148. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
  149. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
  150. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  151. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  152. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  153. package/SVF-doxygen/html/html/VFG_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -3
  155. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +10 -8
  156. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp.html +3 -0
  157. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +77 -64
  158. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h.html +3 -2
  159. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +78 -69
  160. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +2 -2
  161. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  162. package/SVF-doxygen/html/html/WPASolver_8h_source.html +2 -2
  163. package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
  164. package/SVF-doxygen/html/html/annotated.html +189 -186
  165. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +22 -22
  169. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +14 -14
  170. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -3
  171. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +9 -9
  172. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +6 -6
  174. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
  175. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +6 -6
  176. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +86 -83
  178. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +4 -4
  181. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +12 -12
  182. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  184. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -2
  185. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +116 -116
  188. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +22 -22
  189. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +2 -2
  190. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +7 -7
  193. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  194. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +11 -11
  195. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
  196. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +25 -25
  197. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +3 -3
  198. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +4 -4
  199. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +2 -2
  200. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +13 -13
  201. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +48 -48
  202. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
  203. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +26 -26
  204. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +13 -13
  205. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +2 -2
  214. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +2 -2
  220. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +8 -8
  224. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  225. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  227. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +33 -33
  228. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  229. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +29 -29
  230. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  231. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +8 -8
  233. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
  234. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +12 -12
  235. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +18 -18
  236. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  237. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +17 -17
  239. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +8 -8
  242. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +2 -2
  243. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +2 -2
  245. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +3 -2
  246. package/SVF-doxygen/html/html/classSVF_1_1Options.html +125 -96
  247. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +6 -6
  248. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +29 -29
  249. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +3 -3
  250. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +2 -2
  252. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
  253. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +21 -20
  254. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +8 -8
  255. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  257. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +7 -7
  258. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +19 -16
  259. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +194 -101
  260. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +22 -22
  261. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +8 -7
  262. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +5 -5
  263. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  266. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +8 -8
  267. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +7 -7
  268. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +13 -13
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +7 -7
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  275. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
  276. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +12 -12
  277. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +2 -2
  279. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +17 -17
  280. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +16 -16
  281. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +2 -2
  282. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +2 -2
  283. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  285. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  286. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +6 -6
  287. package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
  288. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +2 -2
  289. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  290. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +3 -3
  291. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +2 -2
  293. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +161 -162
  294. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +571 -532
  295. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +20 -21
  296. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC-members.html +83 -0
  297. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +297 -0
  298. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  301. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  303. package/SVF-doxygen/html/html/classes.html +96 -95
  304. package/SVF-doxygen/html/html/functions_b.html +11 -5
  305. package/SVF-doxygen/html/html/functions_c.html +13 -14
  306. package/SVF-doxygen/html/html/functions_d.html +13 -4
  307. package/SVF-doxygen/html/html/functions_e.html +3 -0
  308. package/SVF-doxygen/html/html/functions_f.html +1 -1
  309. package/SVF-doxygen/html/html/functions_func_b.html +6 -0
  310. package/SVF-doxygen/html/html/functions_func_d.html +7 -4
  311. package/SVF-doxygen/html/html/functions_func_f.html +1 -1
  312. package/SVF-doxygen/html/html/functions_func_g.html +15 -9
  313. package/SVF-doxygen/html/html/functions_func_i.html +11 -11
  314. package/SVF-doxygen/html/html/functions_func_m.html +0 -3
  315. package/SVF-doxygen/html/html/functions_func_n.html +1 -4
  316. package/SVF-doxygen/html/html/functions_func_o.html +6 -4
  317. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  318. package/SVF-doxygen/html/html/functions_func_r.html +4 -1
  319. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  320. package/SVF-doxygen/html/html/functions_func_v.html +2 -1
  321. package/SVF-doxygen/html/html/functions_g.html +15 -9
  322. package/SVF-doxygen/html/html/functions_i.html +26 -19
  323. package/SVF-doxygen/html/html/functions_l.html +6 -9
  324. package/SVF-doxygen/html/html/functions_m.html +1 -16
  325. package/SVF-doxygen/html/html/functions_n.html +3 -3
  326. package/SVF-doxygen/html/html/functions_o.html +17 -16
  327. package/SVF-doxygen/html/html/functions_p.html +26 -16
  328. package/SVF-doxygen/html/html/functions_r.html +9 -7
  329. package/SVF-doxygen/html/html/functions_s.html +10 -10
  330. package/SVF-doxygen/html/html/functions_t.html +5 -5
  331. package/SVF-doxygen/html/html/functions_type_l.html +1 -4
  332. package/SVF-doxygen/html/html/functions_type_m.html +1 -1
  333. package/SVF-doxygen/html/html/functions_type_n.html +3 -0
  334. package/SVF-doxygen/html/html/functions_type_o.html +0 -3
  335. package/SVF-doxygen/html/html/functions_type_v.html +0 -3
  336. package/SVF-doxygen/html/html/functions_v.html +8 -10
  337. package/SVF-doxygen/html/html/functions_vars_c.html +0 -3
  338. package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
  339. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  340. package/SVF-doxygen/html/html/functions_vars_i.html +7 -0
  341. package/SVF-doxygen/html/html/functions_vars_l.html +3 -3
  342. package/SVF-doxygen/html/html/functions_vars_m.html +0 -12
  343. package/SVF-doxygen/html/html/functions_vars_o.html +3 -3
  344. package/SVF-doxygen/html/html/functions_vars_p.html +12 -0
  345. package/SVF-doxygen/html/html/functions_vars_r.html +0 -3
  346. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  347. package/SVF-doxygen/html/html/functions_vars_y.html +0 -3
  348. package/SVF-doxygen/html/html/functions_w.html +1 -3
  349. package/SVF-doxygen/html/html/functions_y.html +0 -3
  350. package/SVF-doxygen/html/html/globals_f.html +3 -3
  351. package/SVF-doxygen/html/html/globals_func_i.html +8 -8
  352. package/SVF-doxygen/html/html/globals_func_s.html +6 -6
  353. package/SVF-doxygen/html/html/globals_r.html +3 -3
  354. package/SVF-doxygen/html/html/globals_s.html +12 -14
  355. package/SVF-doxygen/html/html/hierarchy.html +176 -173
  356. package/SVF-doxygen/html/html/namespaceSVF.html +70 -32
  357. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +13 -12
  358. package/SVF-doxygen/html/html/namespacemembers_type_v.html +6 -0
  359. package/SVF-doxygen/html/html/namespacemembers_v.html +6 -0
  360. package/SVF-doxygen/html/html/search/all_10.js +11 -7
  361. package/SVF-doxygen/html/html/search/all_12.js +4 -4
  362. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  363. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  364. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  365. package/SVF-doxygen/html/html/search/all_16.js +5 -4
  366. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  367. package/SVF-doxygen/html/html/search/all_19.js +0 -1
  368. package/SVF-doxygen/html/html/search/all_2.js +2 -0
  369. package/SVF-doxygen/html/html/search/all_3.js +1 -2
  370. package/SVF-doxygen/html/html/search/all_4.js +5 -2
  371. package/SVF-doxygen/html/html/search/all_5.js +1 -0
  372. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  373. package/SVF-doxygen/html/html/search/all_7.js +5 -3
  374. package/SVF-doxygen/html/html/search/all_8.js +2 -0
  375. package/SVF-doxygen/html/html/search/all_9.js +7 -5
  376. package/SVF-doxygen/html/html/search/all_c.js +2 -3
  377. package/SVF-doxygen/html/html/search/all_d.js +1 -6
  378. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  379. package/SVF-doxygen/html/html/search/all_f.js +2 -3
  380. package/SVF-doxygen/html/html/search/classes_12.js +0 -1
  381. package/SVF-doxygen/html/html/search/classes_7.js +2 -0
  382. package/SVF-doxygen/html/html/search/classes_b.js +1 -0
  383. package/SVF-doxygen/html/html/search/classes_f.js +1 -0
  384. package/SVF-doxygen/html/html/search/functions_1.js +2 -0
  385. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  386. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  387. package/SVF-doxygen/html/html/search/functions_3.js +3 -2
  388. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  389. package/SVF-doxygen/html/html/search/functions_6.js +5 -3
  390. package/SVF-doxygen/html/html/search/functions_8.js +3 -3
  391. package/SVF-doxygen/html/html/search/functions_b.js +0 -1
  392. package/SVF-doxygen/html/html/search/functions_c.js +0 -1
  393. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  394. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  395. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  396. package/SVF-doxygen/html/html/search/typedefs_14.js +2 -1
  397. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -2
  398. package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
  399. package/SVF-doxygen/html/html/search/typedefs_d.js +1 -0
  400. package/SVF-doxygen/html/html/search/typedefs_e.js +0 -1
  401. package/SVF-doxygen/html/html/search/variables_10.js +4 -0
  402. package/SVF-doxygen/html/html/search/variables_12.js +0 -1
  403. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  404. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  405. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  406. package/SVF-doxygen/html/html/search/variables_19.js +0 -1
  407. package/SVF-doxygen/html/html/search/variables_3.js +0 -1
  408. package/SVF-doxygen/html/html/search/variables_4.js +2 -0
  409. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  410. package/SVF-doxygen/html/html/search/variables_9.js +3 -1
  411. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  412. package/SVF-doxygen/html/html/search/variables_d.js +0 -4
  413. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  414. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  415. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01CoreBitVector_01_4-members.html +81 -0
  416. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01CoreBitVector_01_4.html +126 -0
  417. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  418. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData-members.html +83 -0
  419. package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +145 -0
  420. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  421. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  422. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  423. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  424. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  425. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4-members.html +81 -0
  426. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +129 -0
  427. package/SVF-doxygen/html/html/svf-ex_8cpp.html +2 -2
  428. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  429. package/SVF-doxygen/html/html/tools_2DDA_2CMakeLists_8txt.html +1 -1
  430. package/SVF-doxygen/html/html/tools_2Example_2CMakeLists_8txt.html +1 -1
  431. package/SVF-doxygen/html/html/tools_2MTA_2CMakeLists_8txt.html +1 -1
  432. package/SVF-doxygen/html/html/tools_2SABER_2CMakeLists_8txt.html +1 -1
  433. package/SVF-doxygen/html/html/tools_2WPA_2CMakeLists_8txt.html +9 -9
  434. package/include/MemoryModel/PersistentPointsToCache.h +43 -34
  435. package/include/MemoryModel/PointerAnalysisImpl.h +1 -5
  436. package/include/Util/CoreBitVector.h +8 -0
  437. package/include/Util/Options.h +3 -0
  438. package/include/Util/SVFBasicTypes.h +22 -2
  439. package/include/WPA/VersionedFlowSensitive.h +96 -65
  440. package/lib/MemoryModel/PointerAnalysisImpl.cpp +7 -0
  441. package/lib/MemoryModel/PointsTo.cpp +3 -3
  442. package/lib/Util/Options.cpp +6 -0
  443. package/lib/Util/PTAStat.cpp +3 -4
  444. package/lib/Util/SVFUtil.cpp +1 -0
  445. package/lib/WPA/FlowSensitive.cpp +1 -1
  446. package/lib/WPA/VersionedFlowSensitive.cpp +503 -229
  447. package/lib/WPA/VersionedFlowSensitiveStat.cpp +23 -38
  448. package/package.json +1 -1
  449. package/tools/WPA/CMakeLists.txt +3 -1
@@ -68,8 +68,8 @@ $(function() {
68
68
  <div class="contents">
69
69
  <a href="SVFUtil_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- SVFUtil.h -- Analysis helper functions----------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * SVFUtil.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Apr 11, 2013</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui, dye</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef AnalysisUtil_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define AnalysisUtil_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="fastcluster_8h.html">FastCluster/fastcluster.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="LLVMModule_8h.html">SVF-FE/LLVMModule.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BasicTypes_8h.html">Util/BasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;time.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><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;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> * Util class to assist pointer analysis</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">namespace </span>SVFUtil</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f"> 49</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &amp;<a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>()</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;{</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">llvm::outs</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#af0f447732c67402037a86ea29006efc2"> 55</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &amp;<a class="code" href="namespaceSVF_1_1SVFUtil.html#af0f447732c67402037a86ea29006efc2">errs</a>()</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af0f447732c67402037a86ea29006efc2">llvm::errs</a>();</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;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a220f4c09e4c09c58d018719d44ec1dc3">dumpSet</a>(<a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> To, <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &amp; O = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>());</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a220f4c09e4c09c58d018719d44ec1dc3">dumpSet</a>(<a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> To, <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &amp; O = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>());</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#abd0a9ee845a455f9354d24a8b84a0bb3">dumpPointsToSet</a>(<span class="keywordtype">unsigned</span> node, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> To) ;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab30a35713852a0a525c52ae5dd463442">dumpSparseSet</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; To);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4a15cc5570eed12dd6ee766213e11d61">dumpAliasSet</a>(<span class="keywordtype">unsigned</span> node, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> To) ;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">sucMsg</a>(std::string msg);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6c06020737f7dff22a666b75c28c5e7d">wrnMsg</a>(std::string msg);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(std::string msg);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">errMsg</a>(std::string msg);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6c66553e2559eebfe4f98c0c7ec4b08">bugMsg1</a>(std::string msg);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a054c3e668ce8b265bbc5d923f6243ce7">bugMsg2</a>(std::string msg);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#aabbca7c40d2da6bd2374ea53d5de0553">bugMsg3</a>(std::string msg);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(std::string msg);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a766d74e857f39789af3ebc8a6dae0c95">reportMemoryUsageKB</a>(<span class="keyword">const</span> std::string&amp; infor, <a class="code" href="namespaceSVF.html#a424cc053c29ad7303699c529d1a2cc71">raw_ostream</a> &amp; O = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVFUtil::outs</a>());</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">getMemoryUsageKB</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>* vmrss_kb, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>* vmsize_kb);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a0d7588578735679773493ff2d5e458e1">increaseStackSize</a>();</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa5ce14119a6e3b0b6022753ddd5890f3"> 105</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa5ce14119a6e3b0b6022753ddd5890f3">cmpPts</a> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; lpts,<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; rpts)</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; <span class="keywordflow">if</span> (lpts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() != rpts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>())</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> (lpts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() &lt; rpts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>());</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">else</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; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> bit = lpts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), eit = lpts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>();</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> rbit = rpts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), reit = rpts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">for</span> (; bit != eit &amp;&amp; rbit != reit; bit++, rbit++)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span> (*bit != *rbit)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> (*bit &lt; *rbit);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</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="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</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;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5"> 123</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">cmpNodeBS</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; lpts,<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; rpts)</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">if</span> (lpts.count() != rpts.count())</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> (lpts.count() &lt; rpts.count());</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; NodeBS::iterator bit = lpts.begin(), eit = lpts.end();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; NodeBS::iterator rbit = rpts.begin(), reit = rpts.end();</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (; bit != eit &amp;&amp; rbit != reit; bit++, rbit++)</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; <span class="keywordflow">if</span> (*bit != *rbit)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordflow">return</span> (*bit &lt; *rbit);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</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;}</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html"> 141</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html">equalPointsTo</a></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;{</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html#a4a7e42b2cca7e54766ce7657fefb91f9"> 143</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1SVFUtil_1_1equalPointsTo.html#a4a7e42b2cca7e54766ce7657fefb91f9">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa5ce14119a6e3b0b6022753ddd5890f3">SVFUtil::cmpPts</a>(lhs, rhs);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;} <a class="code" href="namespaceSVF_1_1SVFUtil.html#a68302f07b13f6e1f39aace5699762c41">equalPointsTo</a>;</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"><a class="line" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html"> 149</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html">equalNodeBS</a></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;{</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html#a023a5352ff198ab9f2e0dbc2a5eadc9e"> 151</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html#a023a5352ff198ab9f2e0dbc2a5eadc9e">operator()</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; lhs, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVFUtil::cmpNodeBS</a>(lhs, rhs);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; }</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;} <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2b39ae857d78ed9dda83880e703b0f">equalNodeBS</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a86ebab122895189be57637b84adc7642"> 157</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86ebab122895189be57637b84adc7642">ptsToNodeBS</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;pts)</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> nbs;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : pts) nbs.set(o);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> nbs;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a798b7f30608d8c1688d4fdce2c3097f4"> 164</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet&lt;PointsTo, equalNodeBS&gt;</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a798b7f30608d8c1688d4fdce2c3097f4">PointsToList</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af4ceddbe4d57b24e80201bc895f73810">dumpPointsToList</a>(<span class="keyword">const</span> PointsToList&amp; ptl);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad2c53be5490882768d51aa894b37cbf1"> 167</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad2c53be5490882768d51aa894b37cbf1">isIntrinsicFun</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* func)</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;{</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">if</span> (func &amp;&amp; (func-&gt;getIntrinsicID() == llvm::Intrinsic::donothing ||</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; func-&gt;getIntrinsicID() == llvm::Intrinsic::dbg_addr ||</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; func-&gt;getIntrinsicID() == llvm::Intrinsic::dbg_declare ||</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; func-&gt;getIntrinsicID() == llvm::Intrinsic::dbg_label ||</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; func-&gt;getIntrinsicID() == llvm::Intrinsic::dbg_value)) {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;}</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80"> 180</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">isIntrinsicInst</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst)</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;{</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">llvm::CallBase</a>* call = llvm::dyn_cast&lt;llvm::CallBase&gt;(inst)) {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* func = call-&gt;getCalledFunction();</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#ad2c53be5490882768d51aa894b37cbf1">isIntrinsicFun</a>(func)) {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;}</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526"> 193</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">isCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst)</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;CallInst&gt;(inst) || SVFUtil::isa&lt;InvokeInst&gt;(inst) || SVFUtil::isa&lt;CallBrInst&gt;(inst);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;}</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a38bf8f7eaa18fc5a09711959b5417854"> 198</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">isCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val)</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;{</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = SVFUtil::dyn_cast&lt;Instruction&gt;(val))</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91"> 206</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">isNonInstricCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst)</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">isIntrinsicInst</a>(inst))</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">isCallSite</a>(inst);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;}</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#abd525a2e3b7b9167b61b2304cc2cbdf2"> 213</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#abd525a2e3b7b9167b61b2304cc2cbdf2">isReturn</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst)</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160;{</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;ReturnInst&gt;(inst);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9"> 219</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">getLLVMCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst)</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">isCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;not a callsite?&quot;</span>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs(const_cast&lt;Instruction*&gt;(inst));</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> cs;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a4f457db1cfa0d4f94762a306c0ac3757"> 227</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a4f457db1cfa0d4f94762a306c0ac3757">getFunction</a>(<a class="code" href="namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9">StringRef</a> name)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>* llvmModuleset = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; llvmModuleset-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#ae265a7f3cc7367d62013e0f15cf3d233">getModuleNum</a>(); ++i)</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a> *mod = llvmModuleset-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a8afb7ab3ee4632e78d546e549110e74c">getModule</a>(i);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; fun = mod-&gt;getFunction(name);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span>(fun)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> llvmModuleset-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(fun);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;}</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637"> 245</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">getDefFunForMultipleModule</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;{</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">if</span>(fun == <span class="keyword">nullptr</span>) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>* llvmModuleset = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>();</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFun = llvmModuleset-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(fun);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">if</span> (fun-&gt;isDeclaration() &amp;&amp; llvmModuleset-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">hasDefinition</a>(fun))</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; svfFun = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#abc83c5da519d2d05133106d92df8053e">getDefinition</a>(fun);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> svfFun;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d"> 257</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;{</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// FIXME: do we need to strip-off the casts here to discover more library functions</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *callee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>&gt;(cs.<a class="code" href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a">getCalledValue</a>()-&gt;stripPointerCasts());</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">getDefFunForMultipleModule</a>(callee);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;}</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538"> 264</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">isCallSite</a>(inst))</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs(const_cast&lt;Instruction*&gt;(inst));</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;}</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *val);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">getSourceLocOfFunction</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *F);</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160;<span class="keyword">const</span> std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Data&gt;</div><div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a36c91f952a69875c33d4bd0b05a27ff2"> 282</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a36c91f952a69875c33d4bd0b05a27ff2">mergePtsOccMaps</a>(<a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Data, unsigned&gt;</a> &amp;to, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Data, unsigned&gt;</a> from)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160;{</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">typename</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Data, unsigned&gt;::value_type</a> &amp;ptocc : from)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; to[ptocc.first] += ptocc.second;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;}</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;std::string <a class="code" href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">hclustMethodToString</a>(<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a> method);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> KeySet&gt;</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7"> 295</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">insertKey</a>(<span class="keyword">const</span> Key &amp;key, KeySet &amp;keySet)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; keySet.insert(key);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;}</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a4f75b8313eb2b1e5a4c798a01cb99471"> 301</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">insertKey</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;key, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;keySet)</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;{</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; keySet.set(key);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> Key, <span class="keyword">typename</span> KeySet&gt;</div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9"> 308</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">removeKey</a>(<span class="keyword">const</span> Key &amp;key, KeySet &amp;keySet)</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;{</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; keySet.erase(key);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;}</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa59af7fc01a534662b3b1524186ef97e"> 314</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">removeKey</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;key, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;keySet)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;{</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; keySet.reset(key);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;}</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#add4cd21115988f9f5eec12e268ddf1d9">timeLimitReached</a>(<span class="keywordtype">int</span> signum);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">startAnalysisLimitTimer</a>(<span class="keywordtype">unsigned</span> timeLimit);</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">stopAnalysisLimitTimer</a>(<span class="keywordtype">bool</span> limitTimerSet);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;} <span class="comment">// End namespace SVFUtil</span></div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* AnalysisUtil_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a2e08ce822223842fa6a73fd659b1a526"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00193">SVFUtil.h:193</a></div></div>
70
70
  <div class="ttc" id="namespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
71
- <div class="ttc" id="namespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set&lt; Key, Compare, Allocator &gt; OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
72
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_add4cd21115988f9f5eec12e268ddf1d9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#add4cd21115988f9f5eec12e268ddf1d9">SVF::SVFUtil::timeLimitReached</a></div><div class="ttdeci">void timeLimitReached(int signum)</div><div class="ttdoc">Function to call when alarm for time limit hits. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00412">SVFUtil.cpp:412</a></div></div>
71
+ <div class="ttc" id="namespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set&lt; Key, Compare, Allocator &gt; OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00103">SVFBasicTypes.h:103</a></div></div>
72
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_add4cd21115988f9f5eec12e268ddf1d9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#add4cd21115988f9f5eec12e268ddf1d9">SVF::SVFUtil::timeLimitReached</a></div><div class="ttdeci">void timeLimitReached(int signum)</div><div class="ttdoc">Function to call when alarm for time limit hits. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00413">SVFUtil.cpp:413</a></div></div>
73
73
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5c2b39ae857d78ed9dda83880e703b0f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5c2b39ae857d78ed9dda83880e703b0f">SVF::SVFUtil::equalNodeBS</a></div><div class="ttdeci">struct SVF::SVFUtil::equalNodeBS equalNodeBS</div></div>
74
74
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab7f58caf27c30a1d414e06f60ca84d80"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const Instruction *inst)</div><div class="ttdoc">Return true if it is an intrinsic instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00180">SVFUtil.h:180</a></div></div>
75
75
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab30a35713852a0a525c52ae5dd463442"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab30a35713852a0a525c52ae5dd463442">SVF::SVFUtil::dumpSparseSet</a></div><div class="ttdeci">void dumpSparseSet(const NodeBS &amp;To)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00117">SVFUtil.cpp:117</a></div></div>
@@ -90,7 +90,7 @@ $(function() {
90
90
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
91
91
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a054c3e668ce8b265bbc5d923f6243ce7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a054c3e668ce8b265bbc5d923f6243ce7">SVF::SVFUtil::bugMsg2</a></div><div class="ttdeci">std::string bugMsg2(std::string msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00088">SVFUtil.cpp:88</a></div></div>
92
92
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6a55f1f8598998a3ffbbc67d32eaf8c4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(std::string msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00056">SVFUtil.cpp:56</a></div></div>
93
- <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
93
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
94
94
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af4ceddbe4d57b24e80201bc895f73810"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af4ceddbe4d57b24e80201bc895f73810">SVF::SVFUtil::dumpPointsToList</a></div><div class="ttdeci">void dumpPointsToList(const PointsToList &amp;ptl)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00124">SVFUtil.cpp:124</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae265a7f3cc7367d62013e0f15cf3d233"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae265a7f3cc7367d62013e0f15cf3d233">SVF::LLVMModuleSet::getModuleNum</a></div><div class="ttdeci">u32_t getModuleNum() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00093">LLVMModule.h:93</a></div></div>
96
96
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
@@ -102,7 +102,7 @@ $(function() {
102
102
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html">SVF::LLVMModuleSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00040">LLVMModule.h:40</a></div></div>
103
103
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a68302f07b13f6e1f39aace5699762c41"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a68302f07b13f6e1f39aace5699762c41">SVF::SVFUtil::equalPointsTo</a></div><div class="ttdeci">struct SVF::SVFUtil::equalPointsTo equalPointsTo</div></div>
104
104
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00127">PointsTo.h:127</a></div></div>
105
- <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>
105
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00423">SVFUtil.cpp:423</a></div></div>
106
106
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
107
107
  <div class="ttc" id="fastcluster_8h_html_a4205a14ad66b3320d2e94c61d74913dd"><div class="ttname"><a href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a></div><div class="ttdeci">hclust_fast_methods</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8h_source.html#l00065">fastcluster.h:65</a></div></div>
108
108
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
@@ -113,7 +113,7 @@ $(function() {
113
113
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00257">SVFUtil.h:257</a></div></div>
114
114
  <div class="ttc" id="PointsTo_8h_html"><div class="ttname"><a href="PointsTo_8h.html">PointsTo.h</a></div></div>
115
115
  <div class="ttc" id="BasicTypes_8h_html"><div class="ttname"><a href="BasicTypes_8h.html">BasicTypes.h</a></div></div>
116
- <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00387">SVFUtil.cpp:387</a></div></div>
116
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00388">SVFUtil.cpp:388</a></div></div>
117
117
  <div class="ttc" id="namespaceSVF_html_a88fd7387fcf16caf70abe265cdcf90b9"><div class="ttname"><a href="namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9">SVF::StringRef</a></div><div class="ttdeci">llvm::StringRef StringRef</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00102">BasicTypes.h:102</a></div></div>
118
118
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aa5ce14119a6e3b0b6022753ddd5890f3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa5ce14119a6e3b0b6022753ddd5890f3">SVF::SVFUtil::cmpPts</a></div><div class="ttdeci">bool cmpPts(const PointsTo &amp;lpts, const PointsTo &amp;rpts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00105">SVFUtil.h:105</a></div></div>
119
119
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aabbca7c40d2da6bd2374ea53d5de0553"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aabbca7c40d2da6bd2374ea53d5de0553">SVF::SVFUtil::bugMsg3</a></div><div class="ttdeci">std::string bugMsg3(std::string msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00093">SVFUtil.cpp:93</a></div></div>
@@ -125,14 +125,14 @@ $(function() {
125
125
  <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00313">BasicTypes.h:313</a></div></div>
126
126
  <div class="ttc" id="fastcluster_8h_html"><div class="ttname"><a href="fastcluster_8h.html">fastcluster.h</a></div></div>
127
127
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a4f457db1cfa0d4f94762a306c0ac3757"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4f457db1cfa0d4f94762a306c0ac3757">SVF::SVFUtil::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(StringRef name)</div><div class="ttdoc">Get the corresponding Function based on its name. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00227">SVFUtil.h:227</a></div></div>
128
- <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
128
+ <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html_abc83c5da519d2d05133106d92df8053e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#abc83c5da519d2d05133106d92df8053e">SVF::LLVMModuleSet::getDefinition</a></div><div class="ttdeci">const SVFFunction * getDefinition(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00130">LLVMModule.h:130</a></div></div>
130
130
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aee74719d33695e4da6fee5fc83f745d9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aee74719d33695e4da6fee5fc83f745d9">SVF::SVFUtil::removeKey</a></div><div class="ttdeci">void removeKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Removes an element from a Set/CondSet (or anything implementing ::erase). </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00308">SVFUtil.h:308</a></div></div>
131
131
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
132
132
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8d8216a92140d982303f83ea424ddc91"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls...</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00206">SVFUtil.h:206</a></div></div>
133
133
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a36c91f952a69875c33d4bd0b05a27ff2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a36c91f952a69875c33d4bd0b05a27ff2">SVF::SVFUtil::mergePtsOccMaps</a></div><div class="ttdeci">void mergePtsOccMaps(Map&lt; Data, unsigned &gt; &amp;to, const Map&lt; Data, unsigned &gt; from)</div><div class="ttdoc">Given a map mapping points-to sets to a count, adds from into to. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00282">SVFUtil.h:282</a></div></div>
134
134
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a630ff9c47f58f9b8df7c8a2b3711477c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVF::SVFUtil::getMemoryUsageKB</a></div><div class="ttdeci">bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)</div><div class="ttdoc">Get memory usage from system file. Return TRUE if succeed. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00179">SVFUtil.cpp:179</a></div></div>
135
- <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>
135
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a168f7f7a3a8c70dbf2b5b4269cd4c7c5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVF::SVFUtil::stopAnalysisLimitTimer</a></div><div class="ttdeci">void stopAnalysisLimitTimer(bool limitTimerSet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00444">SVFUtil.cpp:444</a></div></div>
136
136
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a766d74e857f39789af3ebc8a6dae0c95"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a766d74e857f39789af3ebc8a6dae0c95">SVF::SVFUtil::reportMemoryUsageKB</a></div><div class="ttdeci">void reportMemoryUsageKB(const std::string &amp;infor, raw_ostream &amp;O=SVFUtil::outs())</div><div class="ttdoc">Print memory usage in KB. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00169">SVFUtil.cpp:169</a></div></div>
137
137
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6c06020737f7dff22a666b75c28c5e7d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6c06020737f7dff22a666b75c28c5e7d">SVF::SVFUtil::wrnMsg</a></div><div class="ttdeci">std::string wrnMsg(std::string msg)</div><div class="ttdoc">Returns warning message by converting a string into yellow string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00064">SVFUtil.cpp:64</a></div></div>
138
138
  <div class="ttc" id="namespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
@@ -73,7 +73,7 @@ $(function() {
73
73
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a62471599cba4bde20d2696a91fa064ec"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a62471599cba4bde20d2696a91fa064ec">SVF::SaberCheckerAPI::tdAPIMap</a></div><div class="ttdeci">TDAPIMap tdAPIMap</div><div class="ttdoc">API map, from a string to threadAPI type. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00061">SaberCheckerAPI.h:61</a></div></div>
75
75
  <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
76
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00226">SVFBasicTypes.h:226</a></div></div>
76
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_acf41a2b6de063da9ed492ef0da129036"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#acf41a2b6de063da9ed492ef0da129036">SVF::SaberCheckerAPI::getCheckerAPI</a></div><div class="ttdeci">static SaberCheckerAPI * getCheckerAPI()</div><div class="ttdoc">Return a static reference. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00089">SaberCheckerAPI.h:89</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_ab6d9c2435bdb1c01542cc75e9eef0a4e"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#ab6d9c2435bdb1c01542cc75e9eef0a4e">SVF::SaberCheckerAPI::isMemDealloc</a></div><div class="ttdeci">bool isMemDealloc(const SVFFunction *fun) const</div><div class="ttdoc">Return true if this call is a memory deallocation. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00116">SaberCheckerAPI.h:116</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a5771df69ffa75b6103a32c8bd48ef488"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a5771df69ffa75b6103a32c8bd48ef488">SVF::SaberCheckerAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdoc">Initialize the map. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8cpp_source.html#l00142">SaberCheckerAPI.cpp:142</a></div></div>
@@ -101,7 +101,7 @@ $(function() {
101
101
  <div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph&lt; PAGNode, PAGEdge &gt;::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00337">GenericGraph.h:337</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a2d0492c50159a5f97a587874c6877286"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a2d0492c50159a5f97a587874c6877286">SVF::SaberSVFGBuilder::collectGlobals</a></div><div class="ttdeci">void collectGlobals(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8cpp_source.html#l00066">SaberSVFGBuilder.cpp:66</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
104
- <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
104
+ <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
105
105
  <div class="ttc" id="classSVF_1_1PAG_html_a19c4e63ab6129d4e7aeae8b280bb057b"><div class="ttname"><a href="classSVF_1_1PAG.html#a19c4e63ab6129d4e7aeae8b280bb057b">SVF::PAG::getFieldsAfterCollapse</a></div><div class="ttdeci">NodeBS getFieldsAfterCollapse(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00800">PAG.cpp:800</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_ad4c6a48b60c870d63049fe7272cc7eb8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(Data data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00159">WorkList.h:159</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00098">PointerAnalysisImpl.h:98</a></div></div>
@@ -111,7 +111,7 @@ $(function() {
111
111
  <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00213">GenericGraph.h:213</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1PAG_html_a1aedb70211aa31a4741615e611d64397"><div class="ttname"><a href="classSVF_1_1PAG.html#a1aedb70211aa31a4741615e611d64397">SVF::PAG::PAGNodeList</a></div><div class="ttdeci">std::vector&lt; const PAGNode * &gt; PAGNodeList</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00057">PAG.h:57</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1PointsTo_html_ad78e4109c839914c4f7e37ca78046f1d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad78e4109c839914c4f7e37ca78046f1d">SVF::PointsTo::intersects</a></div><div class="ttdeci">bool intersects(const PointsTo &amp;rhs) const</div><div class="ttdoc">Returns true if this set and rhs share any elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00180">PointsTo.cpp:180</a></div></div>
114
- <div class="ttc" id="namespaceSVF_html_a39d27055a14d9d6363c668ee215a4676"><div class="ttname"><a href="namespaceSVF.html#a39d27055a14d9d6363c668ee215a4676">SVF::NodeVector</a></div><div class="ttdeci">std::vector&lt; NodeID &gt; NodeVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00119">SVFBasicTypes.h:119</a></div></div>
114
+ <div class="ttc" id="namespaceSVF_html_a39d27055a14d9d6363c668ee215a4676"><div class="ttname"><a href="namespaceSVF.html#a39d27055a14d9d6363c668ee215a4676">SVF::NodeVector</a></div><div class="ttdeci">std::vector&lt; NodeID &gt; NodeVector</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00117">SVFBasicTypes.h:117</a></div></div>
115
115
  <div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a970676d884d66da9fce00fe5b60c96ba"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a970676d884d66da9fce00fe5b60c96ba">SVF::SaberCheckerAPI::isFClose</a></div><div class="ttdeci">bool isFClose(const SVFFunction *fun) const</div><div class="ttdoc">Return true if this call is a file close. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00148">SaberCheckerAPI.h:148</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00149">PointsTo.cpp:149</a></div></div>
117
117
  <div class="ttc" id="classSVF_1_1PAG_html_ae1e22e620954e3e9ede3f2bf0ac90c36"><div class="ttname"><a href="classSVF_1_1PAG.html#ae1e22e620954e3e9ede3f2bf0ac90c36">SVF::PAG::getBaseObjNode</a></div><div class="ttdeci">NodeID getBaseObjNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00717">PAG.h:717</a></div></div>
@@ -119,7 +119,7 @@ $(function() {
119
119
  <div class="ttc" id="PointerAnalysisImpl_8h_html"><div class="ttname"><a href="PointerAnalysisImpl_8h.html">PointerAnalysisImpl.h</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a4bfa849a30d1982ae597d26b4a01dd0f"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a4bfa849a30d1982ae597d26b4a01dd0f">SVF::SaberSVFGBuilder::accessGlobal</a></div><div class="ttdeci">bool accessGlobal(BVDataPTAImpl *pta, const PAGNode *pagNode)</div><div class="ttdoc">Whether points-to of a PAGNode points-to global variable. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8cpp_source.html#l00135">SaberSVFGBuilder.cpp:135</a></div></div>
121
121
  <div class="ttc" id="SaberSVFGBuilder_8h_html"><div class="ttname"><a href="SaberSVFGBuilder_8h.html">SaberSVFGBuilder.h</a></div></div>
122
- <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>
122
+ <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>
123
123
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00328">PointerAnalysis.h:328</a></div></div>
124
124
  <div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00061">VFGNode.h:61</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1PAG_html_a459e2ef671d002ef6edf25cf0bfb7924"><div class="ttname"><a href="classSVF_1_1PAG.html#a459e2ef671d002ef6edf25cf0bfb7924">SVF::PAG::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00721">PAG.h:721</a></div></div>
@@ -134,7 +134,7 @@ $(function() {
134
134
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00114">VFGNode.h:114</a></div></div>
135
135
  <div class="ttc" id="classSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00315">MemSSA.h:315</a></div></div>
136
136
  <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>
137
- <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>
137
+ <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>
138
138
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00174">WorkList.h:174</a></div></div>
139
139
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
140
140
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
@@ -75,13 +75,13 @@ $(function() {
75
75
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a8e07c6afc4ae6e2792431065c2948039"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a8e07c6afc4ae6e2792431065c2948039">SVF::SaberSVFGBuilder::WorkList</a></div><div class="ttdeci">FIFOWorkList&lt; NodeID &gt; WorkList</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00048">SaberSVFGBuilder.h:48</a></div></div>
76
76
  <div class="ttc" id="SVFGBuilder_8h_html"><div class="ttname"><a href="SVFGBuilder_8h.html">SVFGBuilder.h</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a4d70d1413f42f30437d8eb45ff00b6f6"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a4d70d1413f42f30437d8eb45ff00b6f6">SVF::SaberSVFGBuilder::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Re-write create SVFG method. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8cpp_source.html#l00038">SaberSVFGBuilder.cpp:38</a></div></div>
78
- <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
78
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1VFG_html_a0fabca3c0f9bebe23f66a914dbb99e39"><div class="ttname"><a href="classSVF_1_1VFG.html#a0fabca3c0f9bebe23f66a914dbb99e39">SVF::VFG::addActualParmVFGNode</a></div><div class="ttdeci">void addActualParmVFGNode(const PAGNode *aparm, const CallBlockNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00516">VFG.h:516</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a9431a9dcbcf88b78e721b0347046e997"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a9431a9dcbcf88b78e721b0347046e997">SVF::SaberSVFGBuilder::globSVFGNodes</a></div><div class="ttdeci">SVFGNodeSet globSVFGNodes</div><div class="ttdoc">Store all global SVFG nodes. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00101">SaberSVFGBuilder.h:101</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a298a94f9b368e37767935a42e5ba954a"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a298a94f9b368e37767935a42e5ba954a">SVF::SaberSVFGBuilder::SVFGNodeSet</a></div><div class="ttdeci">Set&lt; const SVFGNode * &gt; SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00046">SaberSVFGBuilder.h:46</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a2d0492c50159a5f97a587874c6877286"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a2d0492c50159a5f97a587874c6877286">SVF::SaberSVFGBuilder::collectGlobals</a></div><div class="ttdeci">void collectGlobals(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8cpp_source.html#l00066">SaberSVFGBuilder.cpp:66</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a967dba864a6032e448222525aedb1f2a"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a967dba864a6032e448222525aedb1f2a">SVF::SaberSVFGBuilder::globs</a></div><div class="ttdeci">PointsTo globs</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00099">SaberSVFGBuilder.h:99</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_a1400bd13453c77defbd085f5bb334bca"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#a1400bd13453c77defbd085f5bb334bca">SVF::SaberSVFGBuilder::~SaberSVFGBuilder</a></div><div class="ttdeci">virtual ~SaberSVFGBuilder()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00054">SaberSVFGBuilder.h:54</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_ab6870d6f6f5abc5417dcea771eaa31f7"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#ab6870d6f6f5abc5417dcea771eaa31f7">SVF::SaberSVFGBuilder::AddExtActualParmSVFGNodes</a></div><div class="ttdeci">virtual void AddExtActualParmSVFGNodes(PTACallGraph *callgraph)</div><div class="ttdoc">Add actual parameter SVFGNode for 1st argument of a deallocation like external function. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8cpp_source.html#l00252">SaberSVFGBuilder.cpp:252</a></div></div>
@@ -80,7 +80,7 @@ $(function() {
80
80
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a3937eef974c3953f1d1e7d64c5a24ff3"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">SVF::VFGEdge::isRetVFGEdge</a></div><div class="ttdeci">bool isRetVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00088">VFGEdge.h:88</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1ProgSlice_html_ae482fcb138aaf345586a39daa34ff895"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ae482fcb138aaf345586a39daa34ff895">SVF::ProgSlice::forwardSliceBegin</a></div><div class="ttdeci">SVFGNodeSetIter forwardSliceBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00092">ProgSlice.h:92</a></div></div>
83
- <div class="ttc" id="classSVF_1_1Options_html_a5fb7733fd66ecad30eea8ced3839e590"><div class="ttname"><a href="classSVF_1_1Options.html#a5fb7733fd66ecad30eea8ced3839e590">SVF::Options::SABERFULLSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SABERFULLSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00245">Options.h:245</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1Options_html_a5fb7733fd66ecad30eea8ced3839e590"><div class="ttname"><a href="classSVF_1_1Options.html#a5fb7733fd66ecad30eea8ced3839e590">SVF::Options::SABERFULLSVFG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SABERFULLSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00248">Options.h:248</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a27636f096ec825c4d5cb1dca608afb31"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a27636f096ec825c4d5cb1dca608afb31">SVF::ProgSlice::sinksEnd</a></div><div class="ttdeci">SVFGNodeSetIter sinksEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00128">ProgSlice.h:128</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1PAG_html"><div class="ttname"><a href="classSVF_1_1PAG.html">SVF::PAG</a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00047">PAG.h:47</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00038">SVFModule.h:38</a></div></div>
@@ -89,16 +89,16 @@ $(function() {
89
89
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad6935e27bbd95d26a01b22b879efed58"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad6935e27bbd95d26a01b22b879efed58">SVF::SrcSnkDDA::SVFGNodeSetIter</a></div><div class="ttdeci">SVFGNodeSet::const_iterator SVFGNodeSetIter</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00052">SrcSnkDDA.h:52</a></div></div>
90
90
  <div class="ttc" id="classSVF_1_1CallDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallDirSVFGEdge.html">SVF::CallDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00211">VFGEdge.h:211</a></div></div>
91
91
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
92
- <div class="ttc" id="SVFBasicTypes_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFBasicTypes_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00163">SVFBasicTypes.h:163</a></div></div>
92
+ <div class="ttc" id="SVFBasicTypes_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFBasicTypes_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
94
- <div class="ttc" id="classSVF_1_1Options_html_a0b82f16ee0c7e6566a6ae20662525e84"><div class="ttname"><a href="classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84">SVF::Options::MaxStepInWrapper</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxStepInWrapper</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00093">Options.h:93</a></div></div>
94
+ <div class="ttc" id="classSVF_1_1Options_html_a0b82f16ee0c7e6566a6ae20662525e84"><div class="ttname"><a href="classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84">SVF::Options::MaxStepInWrapper</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; MaxStepInWrapper</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00096">Options.h:96</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1ProgSlice_html_add10d8fd041ac7e6eb611df8a6b1384b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#add10d8fd041ac7e6eb611df8a6b1384b">SVF::ProgSlice::forwardSliceEnd</a></div><div class="ttdeci">SVFGNodeSetIter forwardSliceEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00096">ProgSlice.h:96</a></div></div>
96
96
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_acae985068ff1c20fb81c4c9ba730aaba"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acae985068ff1c20fb81c4c9ba730aaba">SVF::SrcSnkDDA::dumpSlices</a></div><div class="ttdeci">void dumpSlices()</div><div class="ttdoc">Dump SVFG with annotated slice informaiton. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00295">SrcSnkDDA.cpp:295</a></div></div>
97
97
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ae3d665ff1e796348131e797eb0283bfb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ae3d665ff1e796348131e797eb0283bfb">SVF::SrcSnkDDA::printBDDStat</a></div><div class="ttdeci">void printBDDStat()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00302">SrcSnkDDA.cpp:302</a></div></div>
98
- <div class="ttc" id="classSVF_1_1Options_html_a21cbaab292e9f5bd39109f774fcc88d4"><div class="ttname"><a href="classSVF_1_1Options.html#a21cbaab292e9f5bd39109f774fcc88d4">SVF::Options::CxtLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; CxtLimit</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00196">Options.h:196</a></div></div>
98
+ <div class="ttc" id="classSVF_1_1Options_html_a21cbaab292e9f5bd39109f774fcc88d4"><div class="ttname"><a href="classSVF_1_1Options.html#a21cbaab292e9f5bd39109f774fcc88d4">SVF::Options::CxtLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; CxtLimit</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00199">Options.h:199</a></div></div>
99
99
  <div class="ttc" id="SVFGStat_8h_html"><div class="ttname"><a href="SVFGStat_8h.html">SVFGStat.h</a></div></div>
100
100
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00178">PointerAnalysis.h:178</a></div></div>
101
- <div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00195">Options.h:195</a></div></div>
101
+ <div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00198">Options.h:198</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ac12d813bcba4ec70de5e9048bbe16afc"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ac12d813bcba4ec70de5e9048bbe16afc">SVF::SrcSnkDDA::analyze</a></div><div class="ttdeci">virtual void analyze(SVFModule *module)</div><div class="ttdoc">Start analysis here. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00062">SrcSnkDDA.cpp:62</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1PAGBuilder_html_a757ab2c9481467842e1ad4c46a1f6291"><div class="ttname"><a href="classSVF_1_1PAGBuilder.html#a757ab2c9481467842e1ad4c46a1f6291">SVF::PAGBuilder::build</a></div><div class="ttdeci">virtual PAG * build(SVFModule *svfModule)</div><div class="ttdoc">Start building PAG here. </div><div class="ttdef"><b>Definition:</b> <a href="PAGBuilder_8cpp_source.html#l00047">PAGBuilder.cpp:47</a></div></div>
@@ -114,7 +114,7 @@ $(function() {
114
114
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
115
115
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_afc75e55af839ef535d80555fd422342c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#afc75e55af839ef535d80555fd422342c">SVF::SrcSnkDDA::isInAWrapper</a></div><div class="ttdeci">bool isInAWrapper(const SVFGNode *src, CallSiteSet &amp;csIdSet)</div><div class="ttdoc">Identify allocation wrappers. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00119">SrcSnkDDA.cpp:119</a></div></div>
116
116
  <div class="ttc" id="classSVF_1_1ContextCond_html"><div class="ttname"><a href="classSVF_1_1ContextCond.html">SVF::ContextCond</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00194">DPItem.h:194</a></div></div>
117
- <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>
117
+ <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>
118
118
  <div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00061">VFGNode.h:61</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad2203ca5bd08c6fbebd31a8a010edebb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad2203ca5bd08c6fbebd31a8a010edebb">SVF::SrcSnkDDA::FWProcessOutgoingEdge</a></div><div class="ttdeci">virtual void FWProcessOutgoingEdge(const DPIm &amp;item, SVFGEdge *edge)</div><div class="ttdoc">Propagate information forward by matching context. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00192">SrcSnkDDA.cpp:192</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00137">WorkList.h:137</a></div></div>
@@ -128,7 +128,7 @@ $(function() {
128
128
  <div class="ttc" id="SrcSnkDDA_8h_html"><div class="ttname"><a href="SrcSnkDDA_8h.html">SrcSnkDDA.h</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1VFGEdge_html_a49cbf2a714c9b965b19452d266cd8bdf"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a49cbf2a714c9b965b19452d266cd8bdf">SVF::VFGEdge::isRetDirectVFGEdge</a></div><div class="ttdeci">bool isRetDirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00096">VFGEdge.h:96</a></div></div>
130
130
  <div class="ttc" id="classSVF_1_1ProgSlice_html"><div class="ttname"><a href="classSVF_1_1ProgSlice.html">SVF::ProgSlice</a></div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00041">ProgSlice.h:41</a></div></div>
131
- <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>
131
+ <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>
132
132
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00174">WorkList.h:174</a></div></div>
133
133
  <div class="ttc" id="classSVF_1_1ProgSlice_html_ab5810f8a7a994f0637c54b94d0367a89"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab5810f8a7a994f0637c54b94d0367a89">SVF::ProgSlice::backwardSliceBegin</a></div><div class="ttdeci">SVFGNodeSetIter backwardSliceBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00100">ProgSlice.h:100</a></div></div>
134
134
  <div class="ttc" id="classSVF_1_1RetDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetDirSVFGEdge.html">SVF::RetDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00254">VFGEdge.h:254</a></div></div>
@@ -96,7 +96,7 @@ $(function() {
96
96
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00038">SVFModule.h:38</a></div></div>
97
97
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_adc2ac209e2d5e561bcb594db4c77051b"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#adc2ac209e2d5e561bcb594db4c77051b">SVF::SrcSnkDDA::BWProcessCurNode</a></div><div class="ttdeci">virtual void BWProcessCurNode(const DPIm &amp;item)</div><div class="ttdoc">Backward traverse. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00250">SrcSnkDDA.h:250</a></div></div>
98
98
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a8883b9a42106ed8c55835d2ba9a579cd"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a8883b9a42106ed8c55835d2ba9a579cd">SVF::SrcSnkDDA::initialize</a></div><div class="ttdeci">virtual void initialize(SVFModule *module)</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00042">SrcSnkDDA.cpp:42</a></div></div>
99
- <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
99
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00100">SVFBasicTypes.h:100</a></div></div>
100
100
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a066430ffa98a3fa0a5ad48d26e0450f7"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7">SVF::ProgSlice::inBackwardSlice</a></div><div class="ttdeci">bool inBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00088">ProgSlice.h:88</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a0c3d3b5ac74aa933178fa46b949d8bef"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a0c3d3b5ac74aa933178fa46b949d8bef">SVF::SrcSnkDDA::getSources</a></div><div class="ttdeci">const SVFGNodeSet &amp; getSources() const</div><div class="ttdoc">Get sources/sinks. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00196">SrcSnkDDA.h:196</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ab6803f0a2b3507213ad2979b9b12f700"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">SVF::SrcSnkDDA::memSSA</a></div><div class="ttdeci">SaberSVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
@@ -121,7 +121,7 @@ $(function() {
121
121
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ac12d813bcba4ec70de5e9048bbe16afc"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ac12d813bcba4ec70de5e9048bbe16afc">SVF::SrcSnkDDA::analyze</a></div><div class="ttdeci">virtual void analyze(SVFModule *module)</div><div class="ttdoc">Start analysis here. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00062">SrcSnkDDA.cpp:62</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af048c70d7e68da22835570a3381eb14d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af048c70d7e68da22835570a3381eb14d">SVF::SrcSnkDDA::clearVisitedMap</a></div><div class="ttdeci">void clearVisitedMap()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00284">SrcSnkDDA.h:284</a></div></div>
123
123
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a9c276e24d13cd1e8e5fbad10b46047f8"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a9c276e24d13cd1e8e5fbad10b46047f8">SVF::SrcSnkDDA::addToSinks</a></div><div class="ttdeci">void addToSinks(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00224">SrcSnkDDA.h:224</a></div></div>
124
- <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
124
+ <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a70cff8ea7c033c01400935c9e446f2c6"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a70cff8ea7c033c01400935c9e446f2c6">SVF::SrcSnkDDA::SVFGNodeBS</a></div><div class="ttdeci">NodeBS SVFGNodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00057">SrcSnkDDA.h:57</a></div></div>
126
126
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00120">SrcSnkDDA.h:120</a></div></div>
127
127
  <div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
@@ -151,7 +151,7 @@ $(function() {
151
151
  <div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
152
152
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
153
153
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad0cb9de24cbc99d148f63b694dc3908e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad0cb9de24cbc99d148f63b694dc3908e">SVF::SrcSnkDDA::sourcesEnd</a></div><div class="ttdeci">SVFGNodeSetIter sourcesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00204">SrcSnkDDA.h:204</a></div></div>
154
- <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
154
+ <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
155
155
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a1145c601df2e3dec1e32e43613447b96"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a1145c601df2e3dec1e32e43613447b96">SVF::SrcSnkDDA::getSinks</a></div><div class="ttdeci">const SVFGNodeSet &amp; getSinks() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00212">SrcSnkDDA.h:212</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a1c8f91ffa0b9f01d51c8cd5e14f076d5"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5">SVF::SrcSnkDDA::initSrcs</a></div><div class="ttdeci">virtual void initSrcs()=0</div></div>
157
157
  <div class="ttc" id="classSVF_1_1ProgSlice_html_acee5145fb261280a1f8187184e393aed"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#acee5145fb261280a1f8187184e393aed">SVF::ProgSlice::addToSinks</a></div><div class="ttdeci">void addToSinks(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00116">ProgSlice.h:116</a></div></div>