svf-tools 1.0.595 → 1.0.597

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 (980) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  7. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  10. package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
  11. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -13
  12. package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
  13. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -18
  14. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
  17. package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
  18. package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -24
  19. package/SVF-doxygen/html/html/CHG_8h.html +4 -6
  20. package/SVF-doxygen/html/html/CHG_8h_source.html +13 -12
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  23. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  24. package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
  25. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -26
  26. package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
  27. package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -9
  28. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  29. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  31. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -19
  32. package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
  33. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -14
  34. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  39. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +97 -0
  40. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +102 -0
  41. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  44. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
  46. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  51. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  52. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/GenericGraph_8h.html +15 -6
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +128 -115
  56. package/SVF-doxygen/html/html/GraphPrinter_8h.html +5 -6
  57. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +8 -5
  58. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -3
  59. package/SVF-doxygen/html/html/GraphTraits_8h.html +118 -0
  60. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +91 -0
  61. package/SVF-doxygen/html/html/GraphWriter_8cpp.html +81 -0
  62. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +80 -0
  63. package/SVF-doxygen/html/html/GraphWriter_8h.html +138 -0
  64. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +129 -0
  65. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  66. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
  68. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  69. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
  71. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -26
  72. package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
  73. package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -13
  74. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
  76. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -18
  77. package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
  78. package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -8
  79. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -6
  80. package/SVF-doxygen/html/html/LLVMModule_8cpp.html +4 -3
  81. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +57 -58
  82. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +36 -36
  83. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
  84. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  85. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
  86. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  87. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  89. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
  90. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  92. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  93. package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
  94. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  95. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  97. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  98. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  100. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  104. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  105. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  106. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
  108. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  109. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
  110. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -25
  111. package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
  112. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -16
  113. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  114. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  115. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  116. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  117. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  118. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  119. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  120. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -2
  121. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  122. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  123. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  124. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  125. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  126. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
  127. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  128. package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
  129. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -23
  130. package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
  131. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -13
  132. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
  133. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
  134. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  135. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
  136. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  137. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  138. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
  139. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
  140. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
  141. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  142. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  143. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
  144. package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
  145. package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
  146. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
  147. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
  148. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
  149. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
  150. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  151. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  152. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  153. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  154. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  155. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -3
  156. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  157. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
  158. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
  159. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  160. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  161. package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
  162. package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -37
  163. package/SVF-doxygen/html/html/TCT_8h.html +4 -6
  164. package/SVF-doxygen/html/html/TCT_8h_source.html +27 -26
  165. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
  166. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  167. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  168. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
  169. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  170. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  171. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  172. package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
  173. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -19
  174. package/SVF-doxygen/html/html/VFG_8h.html +4 -6
  175. package/SVF-doxygen/html/html/VFG_8h_source.html +14 -13
  176. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  177. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  178. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -2
  179. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
  180. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  181. package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -2
  182. package/SVF-doxygen/html/html/annotated.html +291 -278
  183. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
  185. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  186. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  188. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  189. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  193. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  195. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  196. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
  197. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  199. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
  201. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  202. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
  204. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  206. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  207. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  209. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  211. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  212. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  213. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +5 -4
  214. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
  215. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
  216. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  217. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
  219. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +18 -17
  220. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  224. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
  225. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  226. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
  229. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +31 -30
  233. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  234. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  235. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  236. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  241. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  243. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  244. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -32
  245. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  246. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
  247. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  249. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  250. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
  252. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  253. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
  256. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
  257. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  259. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
  260. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
  261. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  262. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
  264. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
  265. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
  266. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  267. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  268. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  269. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  270. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
  271. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
  272. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  273. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  274. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +78 -78
  275. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  276. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
  277. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
  280. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
  282. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
  284. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
  285. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
  286. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
  287. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +20 -19
  288. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
  289. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  290. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  292. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +12 -11
  293. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  294. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  296. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  297. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
  298. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  300. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
  301. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  303. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  304. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -6
  305. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +129 -129
  306. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  308. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  311. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
  312. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
  313. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  314. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
  315. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  316. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
  318. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  319. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  320. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  321. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
  322. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  323. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  324. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
  325. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  326. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  327. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
  328. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  329. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  330. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  331. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +26 -25
  332. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  333. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
  334. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  335. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
  337. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  338. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  339. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  340. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
  341. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  342. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  343. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  344. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  345. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  346. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
  347. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
  388. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
  389. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  390. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
  391. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
  392. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
  393. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  394. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  395. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +7 -7
  397. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +4 -4
  398. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
  399. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
  400. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  401. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  402. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
  404. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  405. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  406. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  407. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
  408. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
  409. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  410. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
  411. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  412. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  413. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  414. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
  415. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  416. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  417. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  418. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  419. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  420. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  421. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  422. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
  423. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  424. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +22 -21
  425. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  426. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  427. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
  428. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  429. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
  430. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
  431. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  432. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  433. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
  434. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
  435. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -6
  436. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
  437. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
  438. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
  439. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
  440. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
  441. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
  442. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
  443. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
  444. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
  445. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
  446. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
  447. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
  448. package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
  449. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
  450. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
  451. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
  452. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
  453. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
  454. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
  455. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
  456. package/SVF-doxygen/html/html/classes.html +105 -102
  457. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +9 -7
  458. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter-members.html +100 -0
  459. package/SVF-doxygen/html/html/classllvm_1_1GraphWriter.html +882 -0
  460. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base-members.html +112 -0
  461. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.html +633 -0
  462. package/SVF-doxygen/html/html/classllvm_1_1iterator__adaptor__base.png +0 -0
  463. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base-members.html +102 -0
  464. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.html +787 -0
  465. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base.png +0 -0
  466. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy-members.html +84 -0
  467. package/SVF-doxygen/html/html/classllvm_1_1iterator__facade__base_1_1ReferenceProxy.html +229 -0
  468. package/SVF-doxygen/html/html/classllvm_1_1iterator__range-members.html +87 -0
  469. package/SVF-doxygen/html/html/classllvm_1_1iterator__range.html +342 -0
  470. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter-members.html +112 -0
  471. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.html +322 -0
  472. package/SVF-doxygen/html/html/classllvm_1_1mapped__iter.png +0 -0
  473. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator-members.html +113 -0
  474. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.html +343 -0
  475. package/SVF-doxygen/html/html/classllvm_1_1pointer__iterator.png +0 -0
  476. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  477. package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -0
  478. package/SVF-doxygen/html/html/dir_95e22971b5dbae2382075a3453e365b4.html +4 -0
  479. package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +6 -0
  480. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -1
  481. package/SVF-doxygen/html/html/files.html +42 -36
  482. package/SVF-doxygen/html/html/functions_a.html +11 -8
  483. package/SVF-doxygen/html/html/functions_b.html +19 -12
  484. package/SVF-doxygen/html/html/functions_c.html +43 -42
  485. package/SVF-doxygen/html/html/functions_d.html +27 -15
  486. package/SVF-doxygen/html/html/functions_e.html +19 -7
  487. package/SVF-doxygen/html/html/functions_eval_b.html +4 -4
  488. package/SVF-doxygen/html/html/functions_eval_i.html +6 -0
  489. package/SVF-doxygen/html/html/functions_f.html +21 -18
  490. package/SVF-doxygen/html/html/functions_func.html +13 -10
  491. package/SVF-doxygen/html/html/functions_func_b.html +2 -1
  492. package/SVF-doxygen/html/html/functions_func_c.html +4 -4
  493. package/SVF-doxygen/html/html/functions_func_d.html +18 -14
  494. package/SVF-doxygen/html/html/functions_func_e.html +13 -2
  495. package/SVF-doxygen/html/html/functions_func_g.html +107 -75
  496. package/SVF-doxygen/html/html/functions_func_h.html +4 -4
  497. package/SVF-doxygen/html/html/functions_func_i.html +22 -11
  498. package/SVF-doxygen/html/html/functions_func_m.html +3 -0
  499. package/SVF-doxygen/html/html/functions_func_n.html +5 -2
  500. package/SVF-doxygen/html/html/functions_func_o.html +42 -8
  501. package/SVF-doxygen/html/html/functions_func_p.html +8 -2
  502. package/SVF-doxygen/html/html/functions_func_r.html +7 -1
  503. package/SVF-doxygen/html/html/functions_func_s.html +15 -18
  504. package/SVF-doxygen/html/html/functions_func_w.html +22 -1
  505. package/SVF-doxygen/html/html/functions_g.html +119 -78
  506. package/SVF-doxygen/html/html/functions_h.html +3 -6
  507. package/SVF-doxygen/html/html/functions_i.html +43 -15
  508. package/SVF-doxygen/html/html/functions_m.html +4 -1
  509. package/SVF-doxygen/html/html/functions_n.html +31 -25
  510. package/SVF-doxygen/html/html/functions_o.html +51 -22
  511. package/SVF-doxygen/html/html/functions_p.html +29 -19
  512. package/SVF-doxygen/html/html/functions_r.html +10 -5
  513. package/SVF-doxygen/html/html/functions_rela.html +6 -3
  514. package/SVF-doxygen/html/html/functions_s.html +22 -27
  515. package/SVF-doxygen/html/html/functions_t.html +6 -6
  516. package/SVF-doxygen/html/html/functions_type_b.html +3 -0
  517. package/SVF-doxygen/html/html/functions_type_c.html +6 -5
  518. package/SVF-doxygen/html/html/functions_type_d.html +5 -0
  519. package/SVF-doxygen/html/html/functions_type_e.html +4 -4
  520. package/SVF-doxygen/html/html/functions_type_g.html +6 -5
  521. package/SVF-doxygen/html/html/functions_type_i.html +3 -2
  522. package/SVF-doxygen/html/html/functions_type_n.html +26 -23
  523. package/SVF-doxygen/html/html/functions_type_p.html +2 -1
  524. package/SVF-doxygen/html/html/functions_type_r.html +1 -0
  525. package/SVF-doxygen/html/html/functions_type_v.html +1 -0
  526. package/SVF-doxygen/html/html/functions_v.html +8 -7
  527. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  528. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  529. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  530. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  531. package/SVF-doxygen/html/html/functions_vars_g.html +9 -1
  532. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  533. package/SVF-doxygen/html/html/functions_vars_i.html +10 -0
  534. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  535. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  536. package/SVF-doxygen/html/html/functions_w.html +22 -1
  537. package/SVF-doxygen/html/html/hierarchy.html +444 -397
  538. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  539. package/SVF-doxygen/html/html/iterator_8h.html +124 -0
  540. package/SVF-doxygen/html/html/iterator_8h_source.html +134 -0
  541. package/SVF-doxygen/html/html/iterator__range_8h.html +110 -0
  542. package/SVF-doxygen/html/html/iterator__range_8h_source.html +90 -0
  543. package/SVF-doxygen/html/html/menudata.js +17 -16
  544. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  545. package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
  546. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
  547. package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
  548. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
  549. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  550. package/SVF-doxygen/html/html/namespacellvm.html +1 -95
  551. package/SVF-doxygen/html/html/namespacellvm_1_1DOT.html +107 -0
  552. package/SVF-doxygen/html/html/namespacellvm_1_1GraphProgram.html +122 -0
  553. package/SVF-doxygen/html/html/namespacemembers_c.html +9 -0
  554. package/SVF-doxygen/html/html/namespacemembers_d.html +5 -2
  555. package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
  556. package/SVF-doxygen/html/html/namespacemembers_enum.html +3 -0
  557. package/SVF-doxygen/html/html/namespacemembers_eval.html +15 -0
  558. package/SVF-doxygen/html/html/namespacemembers_f.html +3 -0
  559. package/SVF-doxygen/html/html/namespacemembers_func.html +0 -495
  560. package/SVF-doxygen/html/html/namespacemembers_func_b.html +88 -0
  561. package/SVF-doxygen/html/html/namespacemembers_func_c.html +97 -0
  562. package/SVF-doxygen/html/html/namespacemembers_func_d.html +97 -0
  563. package/SVF-doxygen/html/html/namespacemembers_func_e.html +82 -0
  564. package/SVF-doxygen/html/html/namespacemembers_func_f.html +76 -0
  565. package/SVF-doxygen/html/html/namespacemembers_func_g.html +186 -0
  566. package/SVF-doxygen/html/html/namespacemembers_func_h.html +76 -0
  567. package/SVF-doxygen/html/html/namespacemembers_func_i.html +253 -0
  568. package/SVF-doxygen/html/html/namespacemembers_func_m.html +91 -0
  569. package/SVF-doxygen/html/html/namespacemembers_func_n.html +76 -0
  570. package/SVF-doxygen/html/html/namespacemembers_func_o.html +94 -0
  571. package/SVF-doxygen/html/html/namespacemembers_func_p.html +82 -0
  572. package/SVF-doxygen/html/html/namespacemembers_func_r.html +79 -0
  573. package/SVF-doxygen/html/html/namespacemembers_func_s.html +91 -0
  574. package/SVF-doxygen/html/html/namespacemembers_func_t.html +76 -0
  575. package/SVF-doxygen/html/html/namespacemembers_func_v.html +85 -0
  576. package/SVF-doxygen/html/html/namespacemembers_func_w.html +82 -0
  577. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  578. package/SVF-doxygen/html/html/namespacemembers_i.html +12 -3
  579. package/SVF-doxygen/html/html/namespacemembers_m.html +12 -0
  580. package/SVF-doxygen/html/html/namespacemembers_n.html +9 -0
  581. package/SVF-doxygen/html/html/namespacemembers_r.html +4 -1
  582. package/SVF-doxygen/html/html/namespacemembers_t.html +3 -0
  583. package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
  584. package/SVF-doxygen/html/html/namespacemembers_type_r.html +3 -0
  585. package/SVF-doxygen/html/html/namespacemembers_v.html +3 -0
  586. package/SVF-doxygen/html/html/namespacemembers_w.html +3 -0
  587. package/SVF-doxygen/html/html/namespaces.html +4 -2
  588. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  589. package/SVF-doxygen/html/html/search/all_1.js +1 -0
  590. package/SVF-doxygen/html/html/search/all_10.js +13 -10
  591. package/SVF-doxygen/html/html/search/all_11.js +6 -3
  592. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  593. package/SVF-doxygen/html/html/search/all_13.js +5 -4
  594. package/SVF-doxygen/html/html/search/all_15.js +6 -5
  595. package/SVF-doxygen/html/html/search/all_16.js +8 -1
  596. package/SVF-doxygen/html/html/search/all_2.js +6 -4
  597. package/SVF-doxygen/html/html/search/all_3.js +10 -7
  598. package/SVF-doxygen/html/html/search/all_4.js +21 -14
  599. package/SVF-doxygen/html/html/search/all_5.js +9 -4
  600. package/SVF-doxygen/html/html/search/all_6.js +3 -1
  601. package/SVF-doxygen/html/html/search/all_7.js +90 -46
  602. package/SVF-doxygen/html/html/search/all_8.js +1 -2
  603. package/SVF-doxygen/html/html/search/all_9.js +23 -5
  604. package/SVF-doxygen/html/html/search/all_d.js +6 -1
  605. package/SVF-doxygen/html/html/search/all_e.js +11 -8
  606. package/SVF-doxygen/html/html/search/all_f.js +19 -15
  607. package/SVF-doxygen/html/html/search/classes_3.js +13 -9
  608. package/SVF-doxygen/html/html/search/classes_6.js +64 -32
  609. package/SVF-doxygen/html/html/search/classes_8.js +11 -1
  610. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  611. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  612. package/SVF-doxygen/html/html/search/classes_e.js +1 -0
  613. package/SVF-doxygen/html/html/search/enums_8.js +1 -6
  614. package/SVF-doxygen/html/html/search/enums_9.js +6 -1
  615. package/SVF-doxygen/html/html/search/enums_a.js +1 -4
  616. package/SVF-doxygen/html/html/search/enums_b.js +4 -2
  617. package/SVF-doxygen/html/html/search/enums_c.js +2 -4
  618. package/SVF-doxygen/html/html/search/enums_d.js +4 -1
  619. package/SVF-doxygen/html/html/search/enums_e.html +26 -0
  620. package/SVF-doxygen/html/html/search/enums_e.js +4 -0
  621. package/SVF-doxygen/html/html/search/enumvalues_1.js +3 -3
  622. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -0
  623. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -0
  624. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -0
  625. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -0
  626. package/SVF-doxygen/html/html/search/enumvalues_8.js +3 -1
  627. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -0
  628. package/SVF-doxygen/html/html/search/files_3.js +1 -0
  629. package/SVF-doxygen/html/html/search/files_6.js +4 -1
  630. package/SVF-doxygen/html/html/search/files_7.js +3 -1
  631. package/SVF-doxygen/html/html/search/functions_0.js +1 -0
  632. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  633. package/SVF-doxygen/html/html/search/functions_10.js +2 -0
  634. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  635. package/SVF-doxygen/html/html/search/functions_14.js +1 -0
  636. package/SVF-doxygen/html/html/search/functions_15.js +8 -1
  637. package/SVF-doxygen/html/html/search/functions_2.js +4 -2
  638. package/SVF-doxygen/html/html/search/functions_3.js +5 -4
  639. package/SVF-doxygen/html/html/search/functions_4.js +7 -3
  640. package/SVF-doxygen/html/html/search/functions_6.js +21 -12
  641. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  642. package/SVF-doxygen/html/html/search/functions_8.js +10 -4
  643. package/SVF-doxygen/html/html/search/functions_c.js +5 -0
  644. package/SVF-doxygen/html/html/search/functions_d.js +4 -2
  645. package/SVF-doxygen/html/html/search/functions_e.js +14 -8
  646. package/SVF-doxygen/html/html/search/functions_f.js +3 -1
  647. package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
  648. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  649. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  650. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -0
  651. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  652. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  653. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -1
  654. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  655. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  656. package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
  657. package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
  658. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
  659. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -1
  660. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  661. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  662. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  663. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  664. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  665. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  666. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  667. package/SVF-doxygen/html/html/search/variables_7.js +2 -1
  668. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  669. package/SVF-doxygen/html/html/search/variables_9.js +3 -0
  670. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  671. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  672. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
  673. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
  674. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
  675. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
  676. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
  677. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  678. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
  679. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
  680. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  681. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
  682. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
  683. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  684. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
  685. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
  686. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  687. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
  688. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
  689. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  690. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
  691. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
  692. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  693. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
  694. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
  695. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  696. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
  697. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
  698. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  699. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
  700. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
  701. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  702. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
  703. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
  704. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
  705. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  706. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
  707. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
  708. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  709. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  710. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  711. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  712. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
  713. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  714. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  715. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
  716. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  717. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  718. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
  719. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  720. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  721. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
  722. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  723. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
  724. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
  725. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  726. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
  727. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  728. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  729. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
  730. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  731. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  732. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
  733. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  734. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  735. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
  736. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  737. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  738. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
  739. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  740. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
  741. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
  742. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  743. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  744. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
  745. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  746. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
  747. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
  748. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  749. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  750. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
  751. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  752. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
  753. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
  754. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  755. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  756. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
  757. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  758. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
  759. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
  760. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  761. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  762. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
  763. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  764. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
  765. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
  766. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
  767. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
  768. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
  769. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
  770. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  771. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
  772. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  773. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
  774. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
  775. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  776. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
  777. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
  778. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  779. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  780. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
  781. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  782. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
  783. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
  784. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  785. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
  786. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
  787. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  788. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  789. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
  790. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  791. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  792. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
  793. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  794. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
  795. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
  796. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  797. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  798. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
  799. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  800. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
  801. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
  802. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  803. package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
  804. package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
  805. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +3 -3
  806. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +46 -46
  807. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
  808. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
  809. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
  810. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits-members.html +99 -0
  811. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.html +193 -0
  812. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits.png +0 -0
  813. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +22 -4
  814. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +67 -10
  815. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  816. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +21 -3
  817. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +65 -8
  818. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  819. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +22 -4
  820. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +72 -12
  821. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  822. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +23 -5
  823. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +70 -10
  824. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  825. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +23 -5
  826. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +68 -11
  827. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  828. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +23 -5
  829. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +68 -11
  830. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  831. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +24 -6
  832. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +76 -15
  833. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  834. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +22 -4
  835. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +67 -10
  836. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  837. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +24 -6
  838. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +73 -12
  839. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  840. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits-members.html +99 -0
  841. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.html +855 -0
  842. package/SVF-doxygen/html/html/structllvm_1_1DefaultDOTGraphTraits.png +0 -0
  843. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits-members.html +81 -0
  844. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits.html +116 -0
  845. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  846. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  847. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  848. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  849. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +12 -2
  850. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  851. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  852. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +12 -2
  853. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  854. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  855. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +12 -2
  856. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  857. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  858. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +12 -2
  859. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  860. 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-members.html +1 -1
  861. 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 +33 -31
  862. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  863. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +12 -2
  864. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  865. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  866. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +12 -2
  867. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  868. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  869. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +12 -2
  870. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  871. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  872. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +12 -2
  873. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  874. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  875. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +12 -2
  876. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  877. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +5 -1
  878. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  879. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  880. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +10 -0
  881. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  882. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +5 -1
  883. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  884. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  885. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +10 -0
  886. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  887. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +5 -1
  888. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  889. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  890. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +10 -0
  891. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  892. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +5 -1
  893. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  894. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  895. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +10 -0
  896. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  897. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +2 -2
  898. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +46 -44
  899. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +1 -1
  900. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +38 -34
  901. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  902. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +10 -0
  903. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  904. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +5 -1
  905. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  906. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +5 -1
  907. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  908. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  909. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +10 -0
  910. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  911. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +5 -1
  912. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  913. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +5 -1
  914. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  915. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  916. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +10 -0
  917. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  918. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  919. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +10 -0
  920. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  921. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +5 -1
  922. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  923. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  924. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +10 -0
  925. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  926. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +5 -1
  927. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  928. package/SVF-doxygen/html/html/structllvm_1_1Inverse-members.html +82 -0
  929. package/SVF-doxygen/html/html/structllvm_1_1Inverse.html +154 -0
  930. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator-members.html +111 -0
  931. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.html +279 -0
  932. package/SVF-doxygen/html/html/structllvm_1_1pointee__iterator.png +0 -0
  933. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  934. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  935. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  936. package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
  937. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  938. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  939. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  940. package/include/Graphs/CFLGraph.h +6 -6
  941. package/include/Graphs/CHG.h +6 -6
  942. package/include/Graphs/ConsG.h +6 -6
  943. package/include/Graphs/DOTGraphTraits.h +188 -0
  944. package/include/Graphs/GenericGraph.h +58 -18
  945. package/include/Graphs/GraphPrinter.h +14 -22
  946. package/include/Graphs/GraphTraits.h +150 -0
  947. package/include/Graphs/GraphWriter.h +380 -0
  948. package/include/Graphs/ICFG.h +6 -6
  949. package/include/Graphs/IRGraph.h +6 -7
  950. package/include/Graphs/PTACallGraph.h +6 -6
  951. package/include/Graphs/SVFG.h +6 -6
  952. package/include/Graphs/VFG.h +6 -6
  953. package/include/MTA/TCT.h +6 -6
  954. package/include/SABER/SrcSnkSolver.h +2 -2
  955. package/include/SVF-LLVM/DCHG.h +6 -6
  956. package/include/SVF-LLVM/LLVMUtil.h +5 -0
  957. package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
  958. package/include/SVFIR/SVFValue.h +2 -11
  959. package/include/SVFIR/SVFVariables.h +5 -5
  960. package/include/Util/GraphReachSolver.h +2 -2
  961. package/include/Util/SCC.h +1 -1
  962. package/include/Util/iterator.h +407 -0
  963. package/include/Util/iterator_range.h +76 -0
  964. package/include/WPA/WPASolver.h +1 -1
  965. package/lib/Graphs/CFLGraph.cpp +2 -2
  966. package/lib/Graphs/CHG.cpp +2 -2
  967. package/lib/Graphs/ConsG.cpp +2 -2
  968. package/lib/Graphs/GraphWriter.cpp +53 -0
  969. package/lib/Graphs/ICFG.cpp +2 -2
  970. package/lib/Graphs/IRGraph.cpp +2 -2
  971. package/lib/Graphs/PTACallGraph.cpp +2 -2
  972. package/lib/Graphs/SVFG.cpp +1 -1
  973. package/lib/Graphs/VFG.cpp +2 -2
  974. package/lib/MTA/TCT.cpp +1 -1
  975. package/lib/SVF-LLVM/LLVMModule.cpp +1 -2
  976. package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
  977. package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
  978. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
  979. package/lib/SVFIR/SVFValue.cpp +0 -1
  980. package/package.json +1 -1
@@ -70,21 +70,20 @@ $(function() {
70
70
  </div><!--header-->
71
71
  <div class="contents">
72
72
  <div class="textblock"><code>#include &lt;system_error&gt;</code><br />
73
- <code>#include &lt;llvm/Support/ToolOutputFile.h&gt;</code><br />
74
- <code>#include &lt;llvm/Support/GraphWriter.h&gt;</code><br />
75
- <code>#include &lt;llvm/Support/FileSystem.h&gt;</code><br />
76
- <code>#include &lt;llvm/ADT/GraphTraits.h&gt;</code><br />
73
+ <code>#include &quot;<a class="el" href="GraphWriter_8h_source.html">Graphs/GraphWriter.h</a>&quot;</code><br />
74
+ <code>#include &lt;fstream&gt;</code><br />
77
75
  </div>
78
76
  <p><a href="GraphPrinter_8h_source.html">Go to the source code of this file.</a></p>
79
77
  <table class="memberdecls">
80
78
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
81
79
  Classes</h2></td></tr>
82
- <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1GraphPrinter.html">llvm::GraphPrinter</a></td></tr>
80
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphPrinter.html">SVF::GraphPrinter</a></td></tr>
83
81
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
84
82
  </table><table class="memberdecls">
85
83
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
86
84
  Namespaces</h2></td></tr>
87
- <tr class="memitem:namespacellvm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
85
+ <tr class="memitem:namespaceSVF"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html">SVF</a></td></tr>
86
+ <tr class="memdesc:namespaceSVF"><td class="mdescLeft">&#160;</td><td class="mdescRight">for isBitcode <br /></td></tr>
88
87
  <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
89
88
  </table>
90
89
  </div><!-- contents -->
@@ -66,13 +66,16 @@ $(function() {
66
66
  <div class="title">GraphPrinter.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="GraphPrinter_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">//===- GraphPrinter.h -- Print Generic Graph---------------------//</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;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * GraphPrinter.h</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Created on: 19.Sep.,2018</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * Author: Yulei</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef INCLUDE_GRAPHS_GRAPHPRINTER_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define INCLUDE_GRAPHS_GRAPHPRINTER_H_</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;system_error&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;llvm/Support/ToolOutputFile.h&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;llvm/Support/GraphWriter.h&gt;</span> <span class="comment">// for graph write</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;llvm/Support/FileSystem.h&gt;</span> <span class="comment">// for file open flag</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/GraphTraits.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacellvm.html">llvm</a></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;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="comment"> * Dump and print the graph for debugging</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classllvm_1_1GraphPrinter.html"> 46</a></span>&#160;<span class="keyword">class </span><a class="code" href="classllvm_1_1GraphPrinter.html">GraphPrinter</a></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;{</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classllvm_1_1GraphPrinter.html#a13b2efcc3e5967f60a27e107683cd448"> 50</a></span>&#160; <a class="code" href="classllvm_1_1GraphPrinter.html#a13b2efcc3e5967f60a27e107683cd448">GraphPrinter</a>()</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> GraphType&gt;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classllvm_1_1GraphPrinter.html#af6ed328e74882d2b5e2b4039cb836928"> 58</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1GraphPrinter.html#af6ed328e74882d2b5e2b4039cb836928">WriteGraphToFile</a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a> &amp;O,</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;GraphName, <span class="keyword">const</span> GraphType &amp;GT, <span class="keywordtype">bool</span> simple = <span class="keyword">false</span>)</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// Filename of the output dot file</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> Filename = GraphName + <span class="stringliteral">&quot;.dot&quot;</span>;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;Writing &#39;&quot;</span> &lt;&lt; Filename &lt;&lt; <span class="stringliteral">&quot;&#39;...&quot;</span>;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; std::error_code ErrInfo;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; llvm::ToolOutputFile F(Filename.c_str(), ErrInfo, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (!ErrInfo)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// dump the ValueFlowGraph here</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; WriteGraph(F.os(), GT, simple);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; F.os().close();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (!F.os().has_error())</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; F.keep();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; O &lt;&lt; <span class="stringliteral">&quot; error opening file for writing!\n&quot;</span>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; F.os().clear_error();</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;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> GraphType&gt;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classllvm_1_1GraphPrinter.html#ad950fc901ea4aabb6d6cdad8f883d381"> 87</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1GraphPrinter.html#ad950fc901ea4aabb6d6cdad8f883d381">PrintGraph</a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a> &amp;O, <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;GraphName,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">const</span> GraphType &amp;GT)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">typedef</span> llvm::GraphTraits&lt;GraphType&gt; GTraits;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::NodeRef NodeRef;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::nodes_iterator node_iterator;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::ChildIteratorType child_iterator;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;Printing VFG Graph&quot;</span> &lt;&lt; <span class="stringliteral">&quot;&#39;...\n&quot;</span>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="comment">// Print each node name and its edges</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; node_iterator I = GTraits::nodes_begin(GT);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; node_iterator E = GTraits::nodes_end(GT);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">for</span> (; I != E; ++I)</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; NodeRef *Node = *I;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;node :&quot;</span> &lt;&lt; Node &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; child_iterator EI = GTraits::child_begin(Node);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; child_iterator EE = GTraits::child_end(Node);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; EI != EE &amp;&amp; i != 64; ++EI, ++i)</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;child :&quot;</span> &lt;&lt; *EI &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;};</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="comment">// End namespace llvm</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="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="preprocessor">#endif </span><span class="comment">/* INCLUDE_GRAPHS_GRAPHPRINTER_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00192">CFLGraph.h:192</a></div></div>
70
- <div class="ttc" id="classllvm_1_1GraphPrinter_html_ad950fc901ea4aabb6d6cdad8f883d381"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html#ad950fc901ea4aabb6d6cdad8f883d381">llvm::GraphPrinter::PrintGraph</a></div><div class="ttdeci">static void PrintGraph(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00087">GraphPrinter.h:87</a></div></div>
71
- <div class="ttc" id="classllvm_1_1GraphPrinter_html"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html">llvm::GraphPrinter</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00046">GraphPrinter.h:46</a></div></div>
72
- <div class="ttc" id="classllvm_1_1GraphPrinter_html_af6ed328e74882d2b5e2b4039cb836928"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html#af6ed328e74882d2b5e2b4039cb836928">llvm::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00058">GraphPrinter.h:58</a></div></div>
69
+ <a href="GraphPrinter_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">//===- GraphPrinter.h -- Print Generic Graph---------------------//</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;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * GraphPrinter.h</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Created on: 19.Sep.,2018</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * Author: Yulei</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#ifndef INCLUDE_GRAPHS_GRAPHPRINTER_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#define INCLUDE_GRAPHS_GRAPHPRINTER_H_</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;system_error&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="GraphWriter_8h.html">Graphs/GraphWriter.h</a>&quot;</span> <span class="comment">// for graph write</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;fstream&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</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;<span class="comment">/*</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"> * Dump and print the graph for debugging</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphPrinter.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1GraphPrinter.html">GraphPrinter</a></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphPrinter.html#a5adb844506085e9ba66c1688f9548a25"> 48</a></span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a5adb844506085e9ba66c1688f9548a25">GraphPrinter</a>()</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</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;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> GraphType&gt;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10"> 56</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">WriteGraphToFile</a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a> &amp;O,</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;GraphName, <span class="keyword">const</span> GraphType &amp;GT, <span class="keywordtype">bool</span> simple = <span class="keyword">false</span>)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// Filename of the output dot file</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> Filename = GraphName + <span class="stringliteral">&quot;.dot&quot;</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; std::ofstream outFile(Filename);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span> (outFile.fail())</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; O &lt;&lt; <span class="stringliteral">&quot; error opening file for writing!\n&quot;</span>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; outFile.close();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;Writing &#39;&quot;</span> &lt;&lt; Filename &lt;&lt; <span class="stringliteral">&quot;&#39;...&quot;</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="namespaceSVF.html#ae27267f89add1338fd5afe3a38f61ebd">WriteGraph</a>(outFile, GT, simple);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; outFile.close();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> GraphType&gt;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphPrinter.html#adfa13bfbe85566fa5917280c5d2444da"> 79</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphPrinter.html#adfa13bfbe85566fa5917280c5d2444da">PrintGraph</a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a> &amp;O, <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> &amp;GraphName,</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> GraphType &amp;GT)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits&lt;GraphType&gt;</a> GTraits;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::NodeRef NodeRef;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::nodes_iterator node_iterator;</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::ChildIteratorType child_iterator;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;Printing VFG Graph&quot;</span> &lt;&lt; <span class="stringliteral">&quot;&#39;...\n&quot;</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// Print each node name and its edges</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; node_iterator I = GTraits::nodes_begin(GT);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; node_iterator E = GTraits::nodes_end(GT);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">for</span> (; I != E; ++I)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; NodeRef *Node = *I;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; O &lt;&lt; <span class="stringliteral">&quot;node :&quot;</span> &lt;&lt; Node &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; child_iterator EI = GTraits::child_begin(Node);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; child_iterator EE = GTraits::child_end(Node);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; EI != EE &amp;&amp; i != 64; ++EI, ++i)</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; O &lt;&lt; <span class="stringliteral">&quot;child :&quot;</span> &lt;&lt; *EI &lt;&lt; <span class="stringliteral">&quot;&#39;\n&quot;</span>;</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="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;};</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;} <span class="comment">// End namespace llvm</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_GRAPHS_GRAPHPRINTER_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_html_ae27267f89add1338fd5afe3a38f61ebd"><div class="ttname"><a href="namespaceSVF.html#ae27267f89add1338fd5afe3a38f61ebd">SVF::WriteGraph</a></div><div class="ttdeci">std::ofstream &amp; WriteGraph(std::ofstream &amp;O, const GraphType &amp;G, bool ShortNames=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00328">GraphWriter.h:328</a></div></div>
70
+ <div class="ttc" id="classSVF_1_1GraphPrinter_html_a5adb844506085e9ba66c1688f9548a25"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a5adb844506085e9ba66c1688f9548a25">SVF::GraphPrinter::GraphPrinter</a></div><div class="ttdeci">GraphPrinter()</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00048">GraphPrinter.h:48</a></div></div>
71
+ <div class="ttc" id="classSVF_1_1GraphPrinter_html_adfa13bfbe85566fa5917280c5d2444da"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#adfa13bfbe85566fa5917280c5d2444da">SVF::GraphPrinter::PrintGraph</a></div><div class="ttdeci">static void PrintGraph(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00079">GraphPrinter.h:79</a></div></div>
72
+ <div class="ttc" id="GraphWriter_8h_html"><div class="ttname"><a href="GraphWriter_8h.html">GraphWriter.h</a></div></div>
73
+ <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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1GraphPrinter_html"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html">SVF::GraphPrinter</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00044">GraphPrinter.h:44</a></div></div>
75
+ <div class="ttc" id="classSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
73
76
  <div class="ttc" id="namespaceSVF_html_a8bd74fdcb0e58d0249003df9c3fb8b31"><div class="ttname"><a href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a></div><div class="ttdeci">std::ostream OutStream</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00049">SVFType.h:49</a></div></div>
74
77
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
75
- <div class="ttc" id="classllvm_1_1GraphPrinter_html_a13b2efcc3e5967f60a27e107683cd448"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html#a13b2efcc3e5967f60a27e107683cd448">llvm::GraphPrinter::GraphPrinter</a></div><div class="ttdeci">GraphPrinter()</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00050">GraphPrinter.h:50</a></div></div>
78
+ <div class="ttc" id="structSVF_1_1GenericGraphTraits_html"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00036">GraphTraits.h:36</a></div></div>
76
79
  </div><!-- fragment --></div><!-- contents -->
77
80
  <!-- start footer part -->
78
81
  <hr class="footer"/><address class="footer"><small>
@@ -66,8 +66,7 @@ $(function() {
66
66
  <div class="title">GraphReachSolver.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="GraphReachSolver_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">//===- GraphReachSolver.h -- Generic graph reachability solver---------------------------------//</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"> * GraphReachSolver.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 1, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</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 CFLSOLVER_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define CFLSOLVER_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="WorkList_8h.html">Util/WorkList.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="DPItem_8h.html">Util/DPItem.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</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="comment">/*</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> * Generic Graph Reachability solver for demand-driven analysis based on different graphs (e.g. SVFIR, VFG, ThreadVFG)</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> * Extend this class for sophisticated CFL-reachability resolution (e.g. field, flow, path)</span></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="keyword">template</span>&lt;<span class="keyword">class</span> GraphType, <span class="keyword">class</span> DPIm = DPItem&gt;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1GraphReachSolver.html">GraphReachSolver</a></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a2ede2e8b4c0f44d7f1d5ab7684915556"> 49</a></span>&#160; <span class="keyword">typedef</span> llvm::GraphTraits&lt;GraphType&gt; <a class="code" href="classSVF_1_1GraphReachSolver.html#a2ede2e8b4c0f44d7f1d5ab7684915556">GTraits</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de"> 50</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::NodeType <a class="code" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de">GNODE</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2"> 51</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::EdgeType <a class="code" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">GEDGE</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084"> 52</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::nodes_iterator <a class="code" href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084">node_iterator</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#ad3fb81ac5017c6c3dc4b2b3b65b3ca04"> 53</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::ChildIteratorType <a class="code" href="classSVF_1_1GraphReachSolver.html#ad3fb81ac5017c6c3dc4b2b3b65b3ca04">child_iterator</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#aa1542934a87c9edce00355fe2d690b9e"> 56</a></span>&#160; <span class="keyword">typedef</span> llvm::GraphTraits&lt;llvm::Inverse&lt;GNODE *&gt; &gt; <a class="code" href="classSVF_1_1GraphReachSolver.html#aa1542934a87c9edce00355fe2d690b9e">InvGTraits</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91"> 57</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> InvGTraits::ChildIteratorType <a class="code" href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91">inv_child_iterator</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054"> 60</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;DPIm&gt;</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054">WorkList</a>;</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="keyword">protected</span>:</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174"> 65</a></span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174">GraphReachSolver</a>(): <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>(nullptr)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a"> 69</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a">~GraphReachSolver</a>()</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838"> 74</a></span>&#160; <span class="keyword">const</span> <span class="keyword">inline</span> GraphType <a class="code" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">graph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3"> 78</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">setGraph</a>(GraphType g)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a> = g;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98"> 84</a></span>&#160; <span class="keyword">inline</span> GNODE* <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>-&gt;getGNode(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf"> 88</a></span>&#160; <span class="keyword">virtual</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> item.getCurNodeID();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5"> 93</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">forwardTraverse</a>(DPIm&amp; it)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>())</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; DPIm <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">FWProcessCurNode</a>(item);</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; GNODE* v = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; child_iterator EI = GTraits::child_begin(v);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; child_iterator EE = GTraits::child_end(v);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">FWProcessOutgoingEdge</a>(item,*(EI.getCurrent()) );</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819"> 112</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">backwardTraverse</a>(DPIm&amp; it)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>())</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; DPIm <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">BWProcessCurNode</a>(item);</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; GNODE* v = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; inv_child_iterator EI = InvGTraits::child_begin(v);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; inv_child_iterator EE = InvGTraits::child_end(v);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">BWProcessIncomingEdge</a>(item,*(EI.getCurrent()) );</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087"> 132</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">FWProcessCurNode</a>(<span class="keyword">const</span> DPIm&amp;)</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="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f"> 135</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">BWProcessCurNode</a>(<span class="keyword">const</span> DPIm&amp;)</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; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92"> 141</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">FWProcessOutgoingEdge</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>, GEDGE* edge)</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; DPIm newItem(item);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; newItem.setCurNodeID(edge-&gt;getDstID());</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014"> 147</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">BWProcessIncomingEdge</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>, GEDGE* edge)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; DPIm newItem(item);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; newItem.setCurNodeID(edge-&gt;getSrcID());</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b"> 156</a></span>&#160; <span class="keyword">inline</span> DPIm <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>()</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9"> 160</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(item);</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="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26"> 164</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>()</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a448dd77a75555479e9c8769c0638af2c"> 168</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a448dd77a75555479e9c8769c0638af2c">isInWorklist</a>(DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">find</a>(item);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668"> 177</a></span>&#160; GraphType <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>;</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="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc"> 180</a></span>&#160; WorkList <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>;</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;};</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CFLSOLVER_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1GraphReachSolver_html_ad1ad147241183e1077a4691ebe7861b5"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">SVF::GraphReachSolver::forwardTraverse</a></div><div class="ttdeci">virtual void forwardTraverse(DPIm &amp;it)</div><div class="ttdoc">CFL forward traverse solve. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00093">GraphReachSolver.h:93</a></div></div>
70
- <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a2ede2e8b4c0f44d7f1d5ab7684915556"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a2ede2e8b4c0f44d7f1d5ab7684915556">SVF::GraphReachSolver::GTraits</a></div><div class="ttdeci">llvm::GraphTraits&lt; GraphType &gt; GTraits</div><div class="ttdoc">Define the GTraits and node iterator. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00049">GraphReachSolver.h:49</a></div></div>
69
+ <a href="GraphReachSolver_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">//===- GraphReachSolver.h -- Generic graph reachability solver---------------------------------//</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"> * GraphReachSolver.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 1, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</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 CFLSOLVER_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define CFLSOLVER_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="WorkList_8h.html">Util/WorkList.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="DPItem_8h.html">Util/DPItem.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</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="comment">/*</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="comment"> * Generic Graph Reachability solver for demand-driven analysis based on different graphs (e.g. SVFIR, VFG, ThreadVFG)</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="comment"> * Extend this class for sophisticated CFL-reachability resolution (e.g. field, flow, path)</span></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="keyword">template</span>&lt;<span class="keyword">class</span> GraphType, <span class="keyword">class</span> DPIm = DPItem&gt;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1GraphReachSolver.html">GraphReachSolver</a></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a70b93c20acbf28603b472d93dd602b7b"> 49</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits&lt;GraphType&gt;</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a70b93c20acbf28603b472d93dd602b7b">GTraits</a>;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de"> 50</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::NodeType <a class="code" href="classSVF_1_1GraphReachSolver.html#af499845fe35ebe782f660146808506de">GNODE</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2"> 51</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::EdgeType <a class="code" href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">GEDGE</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084"> 52</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::nodes_iterator <a class="code" href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084">node_iterator</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#ad3fb81ac5017c6c3dc4b2b3b65b3ca04"> 53</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> GTraits::ChildIteratorType <a class="code" href="classSVF_1_1GraphReachSolver.html#ad3fb81ac5017c6c3dc4b2b3b65b3ca04">child_iterator</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#af790a24d4448911584a6a49b9342a8d5"> 56</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits&lt;SVF::Inverse&lt;GNODE *&gt;</a> &gt; <a class="code" href="classSVF_1_1GraphReachSolver.html#af790a24d4448911584a6a49b9342a8d5">InvGTraits</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91"> 57</a></span>&#160; <span class="keyword">typedef</span> <span class="keyword">typename</span> InvGTraits::ChildIteratorType <a class="code" href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91">inv_child_iterator</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054"> 60</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;DPIm&gt;</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054">WorkList</a>;</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="keyword">protected</span>:</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174"> 65</a></span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a766dc60e7ce7b24b829ba591d069c174">GraphReachSolver</a>(): <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>(nullptr)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; {</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a"> 69</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a">~GraphReachSolver</a>()</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838"> 74</a></span>&#160; <span class="keyword">const</span> <span class="keyword">inline</span> GraphType <a class="code" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">graph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3"> 78</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">setGraph</a>(GraphType g)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a> = g;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98"> 84</a></span>&#160; <span class="keyword">inline</span> GNODE* <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>-&gt;getGNode(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf"> 88</a></span>&#160; <span class="keyword">virtual</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> <a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)<span class="keyword"> const</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> item.getCurNodeID();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5"> 93</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">forwardTraverse</a>(DPIm&amp; it)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>())</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; DPIm <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">FWProcessCurNode</a>(item);</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; GNODE* v = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; child_iterator EI = GTraits::child_begin(v);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; child_iterator EE = GTraits::child_end(v);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">FWProcessOutgoingEdge</a>(item,*(EI.getCurrent()) );</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819"> 112</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">backwardTraverse</a>(DPIm&amp; it)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(it);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>())</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; DPIm <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">BWProcessCurNode</a>(item);</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; GNODE* v = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">getNodeIDFromItem</a>(item));</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; inv_child_iterator EI = InvGTraits::child_begin(v);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; inv_child_iterator EE = InvGTraits::child_end(v);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">for</span> (; EI != EE; ++EI)</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">BWProcessIncomingEdge</a>(item,*(EI.getCurrent()) );</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087"> 132</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">FWProcessCurNode</a>(<span class="keyword">const</span> DPIm&amp;)</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="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f"> 135</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">BWProcessCurNode</a>(<span class="keyword">const</span> DPIm&amp;)</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; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92"> 141</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a3f205f7bc0f0ae1a14184bb8cae4bf92">FWProcessOutgoingEdge</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>, GEDGE* edge)</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; DPIm newItem(item);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; newItem.setCurNodeID(edge-&gt;getDstID());</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</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"><a class="line" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014"> 147</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">BWProcessIncomingEdge</a>(<span class="keyword">const</span> DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>, GEDGE* edge)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; DPIm newItem(item);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; newItem.setCurNodeID(edge-&gt;getSrcID());</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b"> 156</a></span>&#160; <span class="keyword">inline</span> DPIm <a class="code" href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">popFromWorklist</a>()</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9"> 160</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(item);</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="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26"> 164</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a7bfeccdf602cf901699e806e6c481f26">isWorklistEmpty</a>()</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#a448dd77a75555479e9c8769c0638af2c"> 168</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a448dd77a75555479e9c8769c0638af2c">isInWorklist</a>(DPIm&amp; <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">find</a>(item);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668"> 177</a></span>&#160; GraphType <a class="code" href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">_graph</a>;</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="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc"> 180</a></span>&#160; WorkList <a class="code" href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">worklist</a>;</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;};</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CFLSOLVER_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1GraphReachSolver_html_ad1ad147241183e1077a4691ebe7861b5"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#ad1ad147241183e1077a4691ebe7861b5">SVF::GraphReachSolver::forwardTraverse</a></div><div class="ttdeci">virtual void forwardTraverse(DPIm &amp;it)</div><div class="ttdoc">CFL forward traverse solve. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00093">GraphReachSolver.h:93</a></div></div>
71
70
  <div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
72
71
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a4e5126b0e97e490ce65804e2017f0084"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a4e5126b0e97e490ce65804e2017f0084">SVF::GraphReachSolver::node_iterator</a></div><div class="ttdeci">GTraits::nodes_iterator node_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00052">GraphReachSolver.h:52</a></div></div>
73
72
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_ab023f3b60ff61d6729d75f4d2942bd83"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">SVF::FIFOWorkList::find</a></div><div class="ttdeci">bool find(const Data &amp;data) const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00157">WorkList.h:157</a></div></div>
@@ -77,17 +76,18 @@ $(function() {
77
76
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_af486b67b972d797107ec82f3f7988668"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#af486b67b972d797107ec82f3f7988668">SVF::GraphReachSolver::_graph</a></div><div class="ttdeci">GraphType _graph</div><div class="ttdoc">Graph. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00177">GraphReachSolver.h:177</a></div></div>
78
77
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_aac7caf50b94caa7bd6960461c0c16014"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#aac7caf50b94caa7bd6960461c0c16014">SVF::GraphReachSolver::BWProcessIncomingEdge</a></div><div class="ttdeci">virtual void BWProcessIncomingEdge(const DPIm &amp;item, GEDGE *edge)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00147">GraphReachSolver.h:147</a></div></div>
79
78
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a5032d3988dbce5a29274c55dc4dbe6bc"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc">SVF::GraphReachSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00180">GraphReachSolver.h:180</a></div></div>
79
+ <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a70b93c20acbf28603b472d93dd602b7b"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a70b93c20acbf28603b472d93dd602b7b">SVF::GraphReachSolver::GTraits</a></div><div class="ttdeci">SVF::GenericGraphTraits&lt; GraphType &gt; GTraits</div><div class="ttdoc">Define the GTraits and node iterator. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00049">GraphReachSolver.h:49</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a88775eedbbc3039caac1e350b48aa838"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">SVF::GraphReachSolver::graph</a></div><div class="ttdeci">const GraphType graph() const</div><div class="ttdoc">Get/Set graph methods. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00074">GraphReachSolver.h:74</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a1638d1ccdcef472f2c54a2e18fc4130b"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a1638d1ccdcef472f2c54a2e18fc4130b">SVF::GraphReachSolver::popFromWorklist</a></div><div class="ttdeci">DPIm popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00156">GraphReachSolver.h:156</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a0b7f0923105dfb198a2a8428d6c1ca98"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">SVF::GraphReachSolver::getNode</a></div><div class="ttdeci">GNODE * getNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00084">GraphReachSolver.h:84</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a53564d384938c19980cb138f720e34e9"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">SVF::GraphReachSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &amp;item)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00160">GraphReachSolver.h:160</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a84f39b3234ddf8198c793ff8c5d59cdf"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a84f39b3234ddf8198c793ff8c5d59cdf">SVF::GraphReachSolver::getNodeIDFromItem</a></div><div class="ttdeci">virtual NodeID getNodeIDFromItem(const DPIm &amp;item) const</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00088">GraphReachSolver.h:88</a></div></div>
86
+ <div class="ttc" id="classSVF_1_1GraphReachSolver_html_af790a24d4448911584a6a49b9342a8d5"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#af790a24d4448911584a6a49b9342a8d5">SVF::GraphReachSolver::InvGTraits</a></div><div class="ttdeci">SVF::GenericGraphTraits&lt; SVF::Inverse&lt; GNODE * &gt; &gt; InvGTraits</div><div class="ttdoc">Define inverse GTraits and note iterator. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00056">GraphReachSolver.h:56</a></div></div>
86
87
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a31e78a14271a152f5b7c0d751a39312a"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a31e78a14271a152f5b7c0d751a39312a">SVF::GraphReachSolver::~GraphReachSolver</a></div><div class="ttdeci">virtual ~GraphReachSolver()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00069">GraphReachSolver.h:69</a></div></div>
87
88
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html">SVF::GraphReachSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00044">GraphReachSolver.h:44</a></div></div>
88
89
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a6ea48755ca28468b426380e838494087"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a6ea48755ca28468b426380e838494087">SVF::GraphReachSolver::FWProcessCurNode</a></div><div class="ttdeci">virtual void FWProcessCurNode(const DPIm &amp;)</div><div class="ttdoc">Process the DP item. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00132">GraphReachSolver.h:132</a></div></div>
89
90
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a8a42bdbb5987d0a340f9935f09e2acd2"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a8a42bdbb5987d0a340f9935f09e2acd2">SVF::GraphReachSolver::GEDGE</a></div><div class="ttdeci">GTraits::EdgeType GEDGE</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00051">GraphReachSolver.h:51</a></div></div>
90
- <div class="ttc" id="classSVF_1_1GraphReachSolver_html_aa1542934a87c9edce00355fe2d690b9e"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#aa1542934a87c9edce00355fe2d690b9e">SVF::GraphReachSolver::InvGTraits</a></div><div class="ttdeci">llvm::GraphTraits&lt; llvm::Inverse&lt; GNODE * &gt; &gt; InvGTraits</div><div class="ttdoc">Define inverse GTraits and note iterator. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00056">GraphReachSolver.h:56</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a8785ea71a1b0da03595fc8f594921819"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">SVF::GraphReachSolver::backwardTraverse</a></div><div class="ttdeci">virtual void backwardTraverse(DPIm &amp;it)</div><div class="ttdoc">CFL forward traverse solve. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00112">GraphReachSolver.h:112</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a5b2ec04cbee0e457ed9d8a8a4c2e134f"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a5b2ec04cbee0e457ed9d8a8a4c2e134f">SVF::GraphReachSolver::BWProcessCurNode</a></div><div class="ttdeci">virtual void BWProcessCurNode(const DPIm &amp;)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00135">GraphReachSolver.h:135</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList&lt; DPIm &gt;</a></div></div>
@@ -100,6 +100,7 @@ $(function() {
100
100
  <div class="ttc" id="DPItem_8h_html"><div class="ttname"><a href="DPItem_8h.html">DPItem.h</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a0298a692295a8a4eae32ab151aa6ccc3"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">SVF::GraphReachSolver::setGraph</a></div><div class="ttdeci">void setGraph(GraphType g)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00078">GraphReachSolver.h:78</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a40fe9f5863619ee7c11a630e4fd89a91"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a40fe9f5863619ee7c11a630e4fd89a91">SVF::GraphReachSolver::inv_child_iterator</a></div><div class="ttdeci">InvGTraits::ChildIteratorType inv_child_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00057">GraphReachSolver.h:57</a></div></div>
103
+ <div class="ttc" id="structSVF_1_1GenericGraphTraits_html"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00036">GraphTraits.h:36</a></div></div>
103
104
  <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#l00200">WorkList.h:200</a></div></div>
104
105
  <div class="ttc" id="classSVF_1_1GraphReachSolver_html_a472784c3cb958b4347958f039d2fe054"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054">SVF::GraphReachSolver::WorkList</a></div><div class="ttdeci">FIFOWorkList&lt; DPIm &gt; WorkList</div><div class="ttdoc">Define worklist. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00060">GraphReachSolver.h:60</a></div></div>
105
106
  <div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>