svf-tools 1.0.310 → 1.0.311

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 (316) hide show
  1. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +6 -6
  5. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
  7. package/SVF-doxygen/html/html/Andersen_8h_source.html +8 -8
  8. package/SVF-doxygen/html/html/CHG_8cpp.html +1 -1
  9. package/SVF-doxygen/html/html/CHG_8cpp_source.html +9 -9
  10. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
  12. package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  14. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +10 -10
  15. package/SVF-doxygen/html/html/ConsG_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  17. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
  18. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
  19. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  20. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  27. package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
  28. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +8 -8
  29. package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +8 -8
  31. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
  36. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +4 -4
  39. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +82 -81
  40. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  45. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  46. package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -6
  47. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
  48. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
  50. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
  52. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
  55. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/MHP_8cpp_source.html +13 -13
  57. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
  58. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
  59. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  62. package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
  63. package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  65. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +11 -11
  66. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  67. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  69. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  70. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +15 -15
  71. package/SVF-doxygen/html/html/PAGBuilder_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/PAGEdge_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/PAGNode_8h_source.html +6 -6
  74. package/SVF-doxygen/html/html/PAG_8cpp_source.html +27 -27
  75. package/SVF-doxygen/html/html/PAG_8h_source.html +17 -17
  76. package/SVF-doxygen/html/html/PCG_8cpp_source.html +8 -8
  77. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  78. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
  79. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
  80. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
  81. package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
  82. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +34 -33
  85. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
  86. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +11 -11
  87. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
  88. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
  89. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
  90. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
  91. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
  92. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +10 -10
  94. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  95. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +5 -5
  96. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
  97. package/SVF-doxygen/html/html/SVFG_8h_source.html +7 -7
  98. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
  99. package/SVF-doxygen/html/html/SVFModule_8h.html +3 -0
  100. package/SVF-doxygen/html/html/SVFModule_8h_source.html +53 -46
  101. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +7 -7
  103. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  104. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  105. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  106. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
  107. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +11 -11
  108. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +16 -16
  109. package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
  110. package/SVF-doxygen/html/html/TCT_8h_source.html +10 -10
  111. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  112. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  113. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  114. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +4 -4
  115. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  117. package/SVF-doxygen/html/html/VFG_8cpp_source.html +6 -6
  118. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
  119. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  120. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  121. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
  122. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  131. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +29 -29
  132. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  135. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +15 -15
  137. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +69 -68
  141. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +25 -25
  144. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  146. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjPN.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjPN.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjPN.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  153. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
  154. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  155. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +9 -9
  156. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +20 -20
  159. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  160. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  161. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
  162. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1DummyObjPN.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1DummyValPN.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +8 -8
  166. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +6 -6
  168. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +38 -38
  169. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +20 -20
  170. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +30 -30
  171. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
  172. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  173. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +47 -47
  179. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
  180. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +1 -1
  185. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +13 -13
  186. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
  189. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  190. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
  191. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +17 -17
  197. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  198. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1LocObjTypeInfo.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
  203. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  204. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +15 -15
  205. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +17 -17
  206. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -4
  209. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
  210. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +4 -4
  211. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +21 -21
  212. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  213. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
  214. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
  215. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +2 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +33 -33
  217. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +21 -21
  218. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1PAGEdge.html +5 -5
  220. package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +10 -10
  221. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +15 -15
  222. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +16 -16
  224. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +4 -4
  225. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
  226. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +6 -6
  227. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +5 -5
  228. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +10 -10
  229. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +39 -38
  230. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +153 -116
  231. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +11 -11
  232. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +3 -3
  233. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  234. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
  238. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  239. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +35 -35
  240. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +7 -7
  241. package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +1 -0
  242. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +110 -77
  243. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  244. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +15 -15
  245. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +3 -3
  246. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +7 -7
  247. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +66 -65
  251. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +28 -28
  252. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  255. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  256. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
  257. package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  260. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +14 -14
  261. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +31 -31
  265. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
  266. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
  267. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
  268. package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
  269. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  270. package/SVF-doxygen/html/html/functions_0x7e.html +3 -0
  271. package/SVF-doxygen/html/html/functions_c.html +27 -26
  272. package/SVF-doxygen/html/html/functions_func_0x7e.html +3 -0
  273. package/SVF-doxygen/html/html/functions_func_c.html +11 -10
  274. package/SVF-doxygen/html/html/functions_i.html +3 -3
  275. package/SVF-doxygen/html/html/functions_r.html +1 -1
  276. package/SVF-doxygen/html/html/functions_s.html +12 -12
  277. package/SVF-doxygen/html/html/functions_u.html +3 -3
  278. package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
  279. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  280. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
  281. package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
  282. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  283. package/SVF-doxygen/html/html/search/all_10.js +5 -5
  284. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  285. package/SVF-doxygen/html/html/search/all_13.js +8 -8
  286. package/SVF-doxygen/html/html/search/all_14.js +2 -2
  287. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  288. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  289. package/SVF-doxygen/html/html/search/all_1b.js +1 -0
  290. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  291. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  292. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  293. package/SVF-doxygen/html/html/search/functions_16.js +1 -0
  294. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  295. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  296. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  297. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  298. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  299. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +17 -17
  300. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  301. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
  302. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
  303. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
  304. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
  305. package/SVF-doxygen/html/html/svf-ex_8cpp.html +5 -5
  306. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  307. package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
  308. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  309. package/include/Graphs/GenericGraph.h +5 -8
  310. package/include/MemoryModel/PersistentPointsToCache.h +13 -7
  311. package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
  312. package/include/Util/SVFModule.h +16 -0
  313. package/lib/Graphs/PAG.cpp +3 -10
  314. package/lib/SVF-FE/SymbolTableInfo.cpp +3 -0
  315. package/lib/Util/Options.cpp +2 -2
  316. package/package.json +1 -1
@@ -112,7 +112,7 @@ struct llvm::GraphTraits&lt; SVF::GenericNode&lt; NodeTy, EdgeTy &gt; * &gt;</h3
112
112
 
113
113
  <p>GraphTraits for nodes </p>
114
114
 
115
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00455">455</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
115
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00452">452</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
116
116
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
117
117
  <a id="aec22c38e9fb74816d84a84e402ca562d"></a>
118
118
  <h2 class="memtitle"><span class="permalink"><a href="#aec22c38e9fb74816d84a84e402ca562d">&#9670;&nbsp;</a></span>ChildIteratorType</h2>
@@ -128,7 +128,7 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
128
128
  </table>
129
129
  </div><div class="memdoc">
130
130
 
131
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00466">466</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
131
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00463">463</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
132
132
 
133
133
  </div>
134
134
  </div>
@@ -146,7 +146,7 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
146
146
  </table>
147
147
  </div><div class="memdoc">
148
148
 
149
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00458">458</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
149
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00455">455</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
150
150
 
151
151
  </div>
152
152
  </div>
@@ -164,7 +164,7 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
164
164
  </table>
165
165
  </div><div class="memdoc">
166
166
 
167
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00457">457</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
167
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00454">454</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
168
168
 
169
169
  </div>
170
170
  </div>
@@ -195,8 +195,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
195
195
  </table>
196
196
  </div><div class="memdoc">
197
197
 
198
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00473">473</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
199
- <div class="fragment"><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;OutEdgeBegin(), &amp;edge_dest);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; }</div></div><!-- fragment -->
198
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00470">470</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
199
+ <div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;OutEdgeBegin(), &amp;edge_dest);</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; }</div></div><!-- fragment -->
200
200
  </div>
201
201
  </div>
202
202
  <a id="af7353e7790e6d4828d76fc16bea16212"></a>
@@ -225,8 +225,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
225
225
  </table>
226
226
  </div><div class="memdoc">
227
227
 
228
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00477">477</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
229
- <div class="fragment"><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;OutEdgeEnd(), &amp;edge_dest);</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; }</div></div><!-- fragment -->
228
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00474">474</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
229
+ <div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;OutEdgeEnd(), &amp;edge_dest);</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div></div><!-- fragment -->
230
230
  </div>
231
231
  </div>
232
232
  <a id="a0c74bc70e04aa3186fbc369717b22a12"></a>
@@ -255,8 +255,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
255
255
  </table>
256
256
  </div><div class="memdoc">
257
257
 
258
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00481">481</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
259
- <div class="fragment"><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;directOutEdgeBegin(), &amp;edge_dest);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div></div><!-- fragment -->
258
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00478">478</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
259
+ <div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;directOutEdgeBegin(), &amp;edge_dest);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; }</div></div><!-- fragment -->
260
260
  </div>
261
261
  </div>
262
262
  <a id="a58094251972081b08b4c6db42a3a374f"></a>
@@ -285,8 +285,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
285
285
  </table>
286
286
  </div><div class="memdoc">
287
287
 
288
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00485">485</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
289
- <div class="fragment"><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;directOutEdgeEnd(), &amp;edge_dest);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div></div><!-- fragment -->
288
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00482">482</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
289
+ <div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordflow">return</span> map_iterator(N-&gt;directOutEdgeEnd(), &amp;edge_dest);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; }</div></div><!-- fragment -->
290
290
  </div>
291
291
  </div>
292
292
  <a id="a84cc3da79c2c9c5bcdf50da4b919b7da"></a>
@@ -315,8 +315,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
315
315
  </table>
316
316
  </div><div class="memdoc">
317
317
 
318
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00460">460</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
319
- <div class="fragment"><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; {</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; <span class="keywordflow">return</span> E-&gt;getDstNode();</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; }</div></div><!-- fragment -->
318
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00457">457</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
319
+ <div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; {</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> E-&gt;getDstNode();</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div></div><!-- fragment -->
320
320
  </div>
321
321
  </div>
322
322
  <a id="a24c5372fa6afca08d89759f66fa2a08e"></a>
@@ -345,8 +345,8 @@ template&lt;class NodeTy , class EdgeTy &gt; </div>
345
345
  </table>
346
346
  </div><div class="memdoc">
347
347
 
348
- <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00468">468</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
349
- <div class="fragment"><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> pagN;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div></div><!-- fragment -->
348
+ <p class="definition">Definition at line <a class="el" href="GenericGraph_8h_source.html#l00465">465</a> of file <a class="el" href="GenericGraph_8h_source.html">GenericGraph.h</a>.</p>
349
+ <div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">return</span> pagN;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; }</div></div><!-- fragment -->
350
350
  </div>
351
351
  </div>
352
352
  <hr/>The documentation for this struct was generated from the following file:<ul>
@@ -214,7 +214,7 @@ Functions</h2></td></tr>
214
214
  <div class="ttc" id="classSVF_1_1PAG_html_ad274c5c15ac51cea5d09ad08febe8c14"><div class="ttname"><a href="classSVF_1_1PAG.html#ad274c5c15ac51cea5d09ad08febe8c14">SVF::PAG::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00135">PAG.h:135</a></div></div>
215
215
  <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>
216
216
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00369">LLVMUtil.cpp:369</a></div></div>
217
- <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>
217
+ <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#l00041">SVFModule.h:41</a></div></div>
218
218
  <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>
219
219
  <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>
220
220
  <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>
@@ -301,7 +301,7 @@ Functions</h2></td></tr>
301
301
 
302
302
  <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00080">80</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
303
303
  <div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;{</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* iNode = icfg-&gt;<a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const ICFGNode*&gt;</a> worklist;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const ICFGNode*&gt;</a> visited;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(iNode);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">ICFGNode::const_iterator</a> it = iNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; iNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *it;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; visited.insert(succNode);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(succNode);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;}</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
304
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00201">GenericGraph.h:201</a></div></div>
304
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
305
305
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
306
306
  <div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
307
307
  <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>
@@ -309,7 +309,7 @@ Functions</h2></td></tr>
309
309
  <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>
310
310
  <div class="ttc" id="classSVF_1_1ICFGNode_html_ac16c5a3227a44d3b9f7c3209156d9df2"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">SVF::ICFGNode::const_iterator</a></div><div class="ttdeci">ICFGEdge::ICFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00066">ICFGNode.h:66</a></div></div>
311
311
  <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>
312
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
312
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
313
313
  <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>
314
314
  <div class="ttc" id="classSVF_1_1ICFG_html_ab7b0b3088b46ad65451905cc4f567a7b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">SVF::ICFG::getBlockICFGNode</a></div><div class="ttdeci">ICFGNode * getBlockICFGNode(const Instruction *inst)</div><div class="ttdoc">Get a basic block ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00181">ICFG.cpp:181</a></div></div>
315
315
  </div><!-- fragment -->
@@ -347,7 +347,7 @@ Functions</h2></td></tr>
347
347
 
348
348
  <p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00108">108</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
349
349
  <div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;{</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1PAG.html">PAG</a>* pag = PAG::getPAG();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classSVF_1_1PAGNode.html">PAGNode</a>* pNode = pag-&gt;<a class="code" href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">getPAGNode</a>(pag-&gt;<a class="code" href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">getValueNode</a>(val));</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = vfg-&gt;<a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pNode);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const VFGNode*&gt;</a> worklist;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;</a> visited;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(vNode);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">VFGNode::const_iterator</a> it = vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; vNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</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; <a class="code" href="classSVF_1_1VFGEdge.html">VFGEdge</a>* edge = *it;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* succNode = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</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; visited.insert(succNode);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(succNode);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</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; }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const VFGNode*&gt;::const_iterator</a> it = visited.begin(), eit = visited.end(); it!=eit; ++it)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* node = *it;</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"> 143</span>&#160;}</div><div class="ttc" id="classSVF_1_1PAG_html_a5f49b7da110a626ed6605d1f108dfa25"><div class="ttname"><a href="classSVF_1_1PAG.html#a5f49b7da110a626ed6605d1f108dfa25">SVF::PAG::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdoc">Get PAG Node according to LLVM value. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00547">PAG.h:547</a></div></div>
350
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00201">GenericGraph.h:201</a></div></div>
350
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
351
351
  <div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
352
352
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
353
353
  <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>
@@ -359,7 +359,7 @@ Functions</h2></td></tr>
359
359
  <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>
360
360
  <div class="ttc" id="classSVF_1_1PAGNode_html"><div class="ttname"><a href="classSVF_1_1PAGNode.html">SVF::PAGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00046">PAGNode.h:46</a></div></div>
361
361
  <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>
362
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
362
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
363
363
  <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>
364
364
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00047">VFGNode.h:47</a></div></div>
365
365
  </div><!-- fragment -->
@@ -77,7 +77,7 @@ $(function() {
77
77
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
78
78
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
79
79
  <div class="ttc" id="svf-ex_8cpp_html_a2d332c504284f0bc181289ee67479845"><div class="ttname"><a href="svf-ex_8cpp.html#a2d332c504284f0bc181289ee67479845">InputFilename</a></div><div class="ttdeci">static llvm::cl::opt&lt; std::string &gt; InputFilename(cl::Positional, llvm::cl::desc(&quot;&lt;input bitcode&gt;&quot;), llvm::cl::init(&quot;-&quot;))</div></div>
80
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00201">GenericGraph.h:201</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00174">PointsTo.h:174</a></div></div>
@@ -87,7 +87,7 @@ $(function() {
87
87
  <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>
88
88
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
89
89
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00369">LLVMUtil.cpp:369</a></div></div>
90
- <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>
90
+ <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#l00041">SVFModule.h:41</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1PAGNode_html_a45be6b7b2f1f9754ea47e511e65d46ae"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">SVF::PAGNode::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00094">PAGNode.h:94</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</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>
@@ -116,7 +116,7 @@ $(function() {
116
116
  <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>
117
117
  <div class="ttc" id="svf-ex_8cpp_html_ae004a620ad67220b6dd8212a2ad625a9"><div class="ttname"><a href="svf-ex_8cpp.html#ae004a620ad67220b6dd8212a2ad625a9">printPts</a></div><div class="ttdeci">std::string printPts(PointerAnalysis *pta, Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00053">svf-ex.cpp:53</a></div></div>
118
118
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html">SVF::SVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00059">SVFGBuilder.h:59</a></div></div>
119
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
119
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00155">Andersen.h:155</a></div></div>
121
121
  <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>
122
122
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
@@ -152,7 +152,7 @@ Functions</h2></td></tr>
152
152
 
153
153
  <p class="definition">Definition at line <a class="el" href="wpa_8cpp_source.html#l00041">41</a> of file <a class="el" href="wpa_8cpp_source.html">wpa.cpp</a>.</p>
154
154
  <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; std::vector&lt;std::string&gt; moduleNameVec;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="stringliteral">&quot;Whole Program Points-to Analysis\n&quot;</span>);</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">if</span> (Options::WriteAnder == <span class="stringliteral">&quot;ir_annotator&quot;</span>)</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; LLVMModuleSet::getLLVMModuleSet()-&gt;preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()-&gt;buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</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; <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a> *wpa = <span class="keyword">new</span> <a class="code" href="classSVF_1_1WPAPass.html">WPAPass</a>();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; wpa-&gt;<a class="code" href="classSVF_1_1WPAPass.html#a394dcd976c1ef08d9cadcba8f5d07c75">runOnModule</a>(svfModule);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00369">LLVMUtil.cpp:369</a></div></div>
155
- <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>
155
+ <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#l00041">SVFModule.h:41</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1WPAPass_html"><div class="ttname"><a href="classSVF_1_1WPAPass.html">SVF::WPAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00054">WPAPass.h:54</a></div></div>
157
157
  <div class="ttc" id="classSVF_1_1SVFModule_html_aa03ab5272652290f30870c6e2d053d98"><div class="ttname"><a href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">SVF::SVFModule::buildSymbolTableInfo</a></div><div class="ttdeci">void buildSymbolTableInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00030">SVFModule.cpp:30</a></div></div>
158
158
  <div class="ttc" id="classSVF_1_1WPAPass_html_a394dcd976c1ef08d9cadcba8f5d07c75"><div class="ttname"><a href="classSVF_1_1WPAPass.html#a394dcd976c1ef08d9cadcba8f5d07c75">SVF::WPAPass::runOnModule</a></div><div class="ttdeci">virtual void runOnModule(SVFModule *svfModule)</div><div class="ttdoc">Run pointer analysis on SVFModule. </div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8cpp_source.html#l00075">WPAPass.cpp:75</a></div></div>
@@ -70,7 +70,7 @@ $(function() {
70
70
  <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div></div>
71
71
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &amp;arg_num, char **arg_value, std::vector&lt; std::string &gt; &amp;moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00369">LLVMUtil.cpp:369</a></div></div>
72
72
  <div class="ttc" id="wpa_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="wpa_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="wpa_8cpp_source.html#l00041">wpa.cpp:41</a></div></div>
73
- <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>
73
+ <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#l00041">SVFModule.h:41</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1WPAPass_html"><div class="ttname"><a href="classSVF_1_1WPAPass.html">SVF::WPAPass</a></div><div class="ttdef"><b>Definition:</b> <a href="WPAPass_8h_source.html#l00054">WPAPass.h:54</a></div></div>
75
75
  <div class="ttc" id="WPAPass_8h_html"><div class="ttname"><a href="WPAPass_8h.html">WPAPass.h</a></div></div>
76
76
  <div class="ttc" id="wpa_8cpp_html_a2d332c504284f0bc181289ee67479845"><div class="ttname"><a href="wpa_8cpp.html#a2d332c504284f0bc181289ee67479845">InputFilename</a></div><div class="ttdeci">static llvm::cl::opt&lt; std::string &gt; InputFilename(cl::Positional, llvm::cl::desc(&quot;&lt;input bitcode&gt;&quot;), llvm::cl::init(&quot;-&quot;))</div></div>
@@ -157,7 +157,8 @@ public:
157
157
  /// Destructor
158
158
  virtual ~GenericNode()
159
159
  {
160
-
160
+ for (auto * edge : OutEdges)
161
+ delete edge;
161
162
  }
162
163
 
163
164
  /// Get ID
@@ -352,13 +353,8 @@ public:
352
353
  /// Release memory
353
354
  void destroy()
354
355
  {
355
- for (iterator I = IDToNodeMap.begin(), E = IDToNodeMap.end(); I != E; ++I){
356
- // NodeType* node = I->second;
357
- // for(typename NodeType::iterator it = node->InEdgeBegin(), eit = node->InEdgeEnd(); it!=eit; ++it)
358
- // delete *it;
359
- }
360
- for (iterator I = IDToNodeMap.begin(), E = IDToNodeMap.end(); I != E; ++I)
361
- delete I->second;
356
+ for (auto &entry : IDToNodeMap)
357
+ delete entry.second;
362
358
  }
363
359
  /// Iterators
364
360
  //@{
@@ -411,6 +407,7 @@ public:
411
407
  iterator it = IDToNodeMap.find(node->getId());
412
408
  assert(it != IDToNodeMap.end() && "can not find the node");
413
409
  IDToNodeMap.erase(it);
410
+ delete node;
414
411
  }
415
412
 
416
413
  /// Get total number of node/edge
@@ -45,21 +45,27 @@ public:
45
45
  initStats();
46
46
  }
47
47
 
48
+ /// Clear the cache.
49
+ void clear()
50
+ {
51
+ for (const Data *d : idToPts) delete d;
52
+ idToPts.clear();
53
+ ptsToId.clear();
54
+
55
+ unionCache.clear();
56
+ complementCache.clear();
57
+ intersectionCache.clear();
58
+ }
59
+
48
60
  /// Resets the cache removing everything except the emptyData it was initialised with.
49
61
  void reset(void)
50
62
  {
51
- for (const Data *d : idToPts) delete d;
52
- idToPts.clear();
53
- ptsToId.clear();
63
+ clear();
54
64
 
55
65
  // Put the empty data back in.
56
66
  ptsToId[Data()] = emptyPointsToId();
57
67
  idToPts.push_back(new Data());
58
68
 
59
- unionCache.clear();
60
- complementCache.clear();
61
- intersectionCache.clear();
62
-
63
69
  idCounter = 1;
64
70
  // Cache is empty...
65
71
  initStats();
@@ -91,6 +91,7 @@ public:
91
91
  {
92
92
  delete ptD;
93
93
  ptD = nullptr;
94
+ ptCache.clear();
94
95
  }
95
96
 
96
97
  /// Get points-to and reverse points-to
@@ -31,6 +31,9 @@
31
31
  #define SVFMODULE_H_
32
32
 
33
33
  #include "Util/BasicTypes.h"
34
+ #include "Util/ExtAPI.h"
35
+ #include "Util/NodeIDAllocator.h"
36
+ #include "Util/ThreadAPI.h"
34
37
 
35
38
  namespace SVF
36
39
  {
@@ -68,6 +71,19 @@ public:
68
71
  {
69
72
  }
70
73
 
74
+ ~SVFModule()
75
+ {
76
+ for (auto * f : FunctionSet)
77
+ delete f;
78
+
79
+ auto * extAPI = ExtAPI::getExtAPI();
80
+ delete extAPI;
81
+ extAPI = nullptr;
82
+ NodeIDAllocator::unset();
83
+ auto * threadAPI = SVF::ThreadAPI::getThreadAPI();
84
+ delete threadAPI;
85
+ threadAPI = nullptr;
86
+ }
71
87
 
72
88
  static inline void setPagFromTXT(std::string txt)
73
89
  {
@@ -867,18 +867,11 @@ LocationSet PAG::getLocationSetFromBaseNode(NodeID nodeId)
867
867
  */
868
868
  void PAG::destroy()
869
869
  {
870
- for (PAGEdge::PAGKindToEdgeSetMapTy::iterator I =
871
- PAGEdgeKindToSetMap.begin(), E = PAGEdgeKindToSetMap.end(); I != E;
872
- ++I)
873
- {
874
- for (PAGEdge::PAGEdgeSetTy::iterator edgeIt = I->second.begin(),
875
- endEdgeIt = I->second.end(); edgeIt != endEdgeIt; ++edgeIt)
876
- {
877
- delete *edgeIt;
878
- }
879
- }
880
870
  SymbolTableInfo::releaseSymbolInfo();
881
871
  symInfo = nullptr;
872
+
873
+ delete icfg;
874
+ icfg = nullptr;
882
875
  }
883
876
 
884
877
  /*!
@@ -579,6 +579,9 @@ void SymbolTableInfo::destroy()
579
579
  if (iter->second)
580
580
  delete iter->second;
581
581
  }
582
+
583
+ delete dl;
584
+ dl = nullptr;
582
585
  }
583
586
 
584
587
  /*!
@@ -26,8 +26,8 @@ namespace SVF
26
26
  llvm::cl::desc("Method of allocating (LLVM) values and memory objects as node IDs"),
27
27
  llvm::cl::values(
28
28
  clEnumValN(NodeIDAllocator::Strategy::DENSE, "dense", "allocate objects together and values together, separately"),
29
- clEnumValN(NodeIDAllocator::Strategy::SEQ, "seq", "allocate values and objects sequentially, intermixed"),
30
- clEnumValN(NodeIDAllocator::Strategy::DEBUG, "debug", "allocate value and objects sequentially, intermixed, except GEP objects as offsets (default)")));
29
+ clEnumValN(NodeIDAllocator::Strategy::SEQ, "seq", "allocate values and objects sequentially, intermixed (default)"),
30
+ clEnumValN(NodeIDAllocator::Strategy::DEBUG, "debug", "allocate value and objects sequentially, intermixed, except GEP objects as offsets")));
31
31
 
32
32
  const llvm::cl::opt<unsigned> Options::MaxFieldLimit(
33
33
  "field-limit",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.310",
3
+ "version": "1.0.311",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {