svf-tools 1.0.452 → 1.0.455

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 (519) hide show
  1. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  6. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -4
  7. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -4
  8. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +2 -1
  9. package/SVF-doxygen/html/html/CFGNormalizer_8cpp.html +1 -0
  10. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +33 -20
  11. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +13 -7
  12. package/SVF-doxygen/html/html/CFLAlias_8h.html +2 -0
  13. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +28 -29
  14. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h.html +96 -0
  15. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +92 -0
  16. package/SVF-doxygen/html/html/CFLGrammar_8cpp.html +3 -0
  17. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +18 -9
  18. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +49 -31
  19. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +235 -0
  20. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp.html +91 -0
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +99 -0
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h.html +96 -0
  23. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +105 -0
  24. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +30 -35
  25. package/SVF-doxygen/html/html/CFLGraph_8h.html +1 -0
  26. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +33 -26
  27. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +20 -20
  28. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +5 -5
  29. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +5 -4
  30. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -1
  31. package/SVF-doxygen/html/html/CHG_8cpp.html +1 -1
  32. package/SVF-doxygen/html/html/CHG_8cpp_source.html +7 -7
  33. package/SVF-doxygen/html/html/CHG_8h_source.html +5 -5
  34. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -1
  35. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  36. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -1
  37. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  39. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +12 -11
  40. package/SVF-doxygen/html/html/ConsG_8h_source.html +6 -6
  41. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  43. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
  44. package/SVF-doxygen/html/html/DCHG_8h_source.html +4 -4
  45. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
  46. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  47. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +6 -6
  48. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +5 -5
  50. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  51. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -2
  52. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
  53. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -2
  54. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +9 -9
  55. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
  57. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +7 -7
  58. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
  59. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  60. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +103 -102
  62. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +16 -12
  63. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +10 -6
  64. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +9 -7
  65. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -1
  66. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  68. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  70. package/SVF-doxygen/html/html/ICFG_8h_source.html +9 -9
  71. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  72. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
  73. package/SVF-doxygen/html/html/IRGraph_8h_source.html +5 -5
  74. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  75. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  76. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +9 -8
  77. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -1
  78. package/SVF-doxygen/html/html/MHP_8cpp_source.html +11 -10
  79. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -1
  80. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -1
  81. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -1
  82. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -1
  83. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -2
  84. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -1
  85. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -1
  86. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +7 -7
  87. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -3
  88. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/PCG_8cpp_source.html +8 -7
  90. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +11 -11
  91. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +7 -7
  92. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +4 -4
  93. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -7
  94. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  95. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +5 -5
  96. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  98. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  99. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +2 -2
  100. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +12 -12
  101. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  102. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +5 -5
  103. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
  104. package/SVF-doxygen/html/html/SVFG_8h_source.html +10 -10
  105. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -4
  106. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -1
  107. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  108. package/SVF-doxygen/html/html/SVFIR_8h_source.html +2 -2
  109. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +4 -4
  110. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +4 -4
  111. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -1
  112. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  113. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +2 -1
  114. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +4 -4
  115. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -6
  116. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  117. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -1
  118. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +7 -7
  119. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
  120. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  121. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -1
  122. package/SVF-doxygen/html/html/TCT_8cpp_source.html +14 -14
  123. package/SVF-doxygen/html/html/TCT_8h_source.html +12 -12
  124. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -1
  125. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  126. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +3 -3
  127. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  128. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +2 -2
  129. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  130. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  131. package/SVF-doxygen/html/html/VFGNode_8h_source.html +4 -4
  132. package/SVF-doxygen/html/html/VFG_8cpp_source.html +7 -7
  133. package/SVF-doxygen/html/html/VFG_8h_source.html +9 -9
  134. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  135. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +9 -9
  136. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  137. package/SVF-doxygen/html/html/annotated.html +257 -255
  138. package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
  139. package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -3
  140. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge-members.html +12 -11
  145. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +4 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +38 -37
  147. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +2 -0
  148. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +17 -17
  151. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  152. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -3
  155. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  156. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  157. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +15 -15
  158. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  159. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +40 -39
  161. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +14 -13
  163. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +46 -45
  164. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +2 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  166. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +44 -43
  167. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +5 -3
  168. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer-members.html +4 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +236 -33
  172. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +34 -43
  173. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge-members.html +8 -7
  174. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +36 -3
  175. package/SVF-doxygen/html/html/classSVF_1_1CFLGramGraphChecker-members.html +81 -0
  176. package/SVF-doxygen/html/html/classSVF_1_1CFLGramGraphChecker.html +136 -0
  177. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +38 -20
  178. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +333 -89
  179. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +34 -34
  180. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +143 -208
  181. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder-members.html +84 -0
  182. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +256 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
  184. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +20 -20
  185. package/SVF-doxygen/html/html/classSVF_1_1CHEdge-members.html +9 -8
  186. package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +2 -0
  187. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +14 -13
  188. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +7 -7
  189. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +20 -19
  190. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -0
  191. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge-members.html +29 -28
  192. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -0
  193. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +33 -32
  196. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -0
  197. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +39 -38
  198. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +2 -0
  199. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +46 -45
  203. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +2 -0
  204. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  205. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge-members.html +11 -10
  207. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +2 -0
  208. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
  209. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  210. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +6 -6
  211. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge-members.html +12 -11
  212. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +2 -0
  213. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +38 -37
  214. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +2 -0
  215. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  216. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +11 -10
  217. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -0
  218. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +20 -20
  219. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  220. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +12 -12
  221. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  223. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge-members.html +29 -28
  224. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -0
  225. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +36 -25
  229. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +17 -17
  232. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +15 -15
  233. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +20 -20
  234. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
  235. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  236. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  237. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
  238. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
  239. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  241. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge-members.html +7 -6
  242. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +41 -9
  243. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +46 -46
  244. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +78 -78
  245. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge-members.html +12 -11
  246. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +2 -0
  247. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  248. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +44 -43
  249. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +2 -0
  250. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +22 -10
  254. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +349 -28
  255. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder-members.html +6 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +176 -33
  257. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +22 -21
  258. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +2 -0
  259. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +13 -13
  260. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge-members.html +21 -20
  261. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +3 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +10 -9
  264. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  265. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +8 -8
  266. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +34 -33
  267. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -0
  268. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  270. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +23 -22
  271. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -0
  272. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge-members.html +30 -29
  273. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -0
  274. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +34 -33
  276. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -0
  277. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  278. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
  280. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  281. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge-members.html +15 -14
  282. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +2 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +41 -40
  284. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +2 -0
  285. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  286. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +10 -9
  287. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -12
  289. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +8 -8
  290. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  292. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -3
  294. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -3
  295. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +26 -26
  296. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -2
  297. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +49 -48
  298. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +5 -3
  299. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +17 -16
  300. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +2 -0
  301. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  302. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  303. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  304. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +10 -9
  305. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  306. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +17 -17
  307. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +21 -20
  308. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
  310. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +7 -7
  311. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +52 -51
  312. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +3 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +12 -12
  314. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
  315. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -1
  316. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +23 -22
  317. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -0
  318. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge-members.html +30 -29
  319. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -0
  320. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  321. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +34 -33
  322. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -0
  323. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +42 -41
  324. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +2 -0
  325. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  326. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +7 -7
  327. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +39 -39
  328. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +7 -7
  329. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +38 -38
  330. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +14 -13
  331. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +42 -41
  332. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -7
  333. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +9 -9
  334. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
  335. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +3 -2
  336. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +12 -12
  337. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt-members.html +49 -48
  338. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +3 -1
  339. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +6 -6
  340. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +3 -3
  341. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
  342. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge-members.html +15 -14
  343. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +2 -0
  344. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +41 -40
  345. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +2 -0
  346. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  347. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -1
  348. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +30 -30
  349. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge-members.html +10 -9
  350. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +2 -0
  351. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  352. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +42 -41
  353. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +2 -0
  354. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +43 -42
  355. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +2 -0
  356. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -2
  357. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
  358. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +21 -20
  359. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +22 -21
  361. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -2
  362. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +34 -33
  363. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -0
  364. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  365. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +6 -6
  366. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +45 -44
  367. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +6 -4
  368. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  369. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +16 -16
  370. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge-members.html +30 -29
  371. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +3 -1
  372. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  373. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  374. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  375. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge-members.html +15 -14
  376. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +2 -0
  377. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +29 -29
  378. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  379. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  380. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +4 -4
  381. package/SVF-doxygen/html/html/classes.html +105 -102
  382. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +2 -1
  383. package/SVF-doxygen/html/html/cuddInt_8c.html +31 -16
  384. package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -1
  385. package/SVF-doxygen/html/html/cuddInt_8h.html +10 -5
  386. package/SVF-doxygen/html/html/cudd_8h.html +15 -8
  387. package/SVF-doxygen/html/html/cudd_8h_source.html +2 -1
  388. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  389. package/SVF-doxygen/html/html/dir_98f9a352f241e0e917d4efaa4086f6e8.html +2 -0
  390. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  391. package/SVF-doxygen/html/html/files.html +8 -5
  392. package/SVF-doxygen/html/html/functions_a.html +15 -6
  393. package/SVF-doxygen/html/html/functions_b.html +4 -4
  394. package/SVF-doxygen/html/html/functions_c.html +27 -23
  395. package/SVF-doxygen/html/html/functions_d.html +1 -0
  396. package/SVF-doxygen/html/html/functions_e.html +8 -6
  397. package/SVF-doxygen/html/html/functions_f.html +18 -15
  398. package/SVF-doxygen/html/html/functions_func.html +14 -11
  399. package/SVF-doxygen/html/html/functions_func_b.html +4 -4
  400. package/SVF-doxygen/html/html/functions_func_c.html +30 -26
  401. package/SVF-doxygen/html/html/functions_func_d.html +1 -0
  402. package/SVF-doxygen/html/html/functions_func_f.html +3 -0
  403. package/SVF-doxygen/html/html/functions_func_g.html +46 -15
  404. package/SVF-doxygen/html/html/functions_func_i.html +17 -11
  405. package/SVF-doxygen/html/html/functions_func_l.html +9 -3
  406. package/SVF-doxygen/html/html/functions_func_n.html +1 -1
  407. package/SVF-doxygen/html/html/functions_func_p.html +5 -2
  408. package/SVF-doxygen/html/html/functions_func_s.html +16 -10
  409. package/SVF-doxygen/html/html/functions_g.html +47 -16
  410. package/SVF-doxygen/html/html/functions_i.html +17 -11
  411. package/SVF-doxygen/html/html/functions_k.html +10 -1
  412. package/SVF-doxygen/html/html/functions_l.html +12 -6
  413. package/SVF-doxygen/html/html/functions_n.html +1 -1
  414. package/SVF-doxygen/html/html/functions_o.html +11 -11
  415. package/SVF-doxygen/html/html/functions_p.html +19 -14
  416. package/SVF-doxygen/html/html/functions_r.html +5 -7
  417. package/SVF-doxygen/html/html/functions_s.html +29 -18
  418. package/SVF-doxygen/html/html/functions_t.html +7 -7
  419. package/SVF-doxygen/html/html/functions_type.html +3 -0
  420. package/SVF-doxygen/html/html/functions_type_k.html +3 -0
  421. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  422. package/SVF-doxygen/html/html/functions_v.html +3 -3
  423. package/SVF-doxygen/html/html/functions_vars_a.html +3 -0
  424. package/SVF-doxygen/html/html/functions_vars_e.html +3 -1
  425. package/SVF-doxygen/html/html/functions_vars_k.html +4 -0
  426. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  427. package/SVF-doxygen/html/html/functions_w.html +6 -10
  428. package/SVF-doxygen/html/html/globals.html +3 -72
  429. package/SVF-doxygen/html/html/globals_a.html +148 -0
  430. package/SVF-doxygen/html/html/globals_e.html +7 -4
  431. package/SVF-doxygen/html/html/globals_f.html +9 -3
  432. package/SVF-doxygen/html/html/globals_func_f.html +6 -0
  433. package/SVF-doxygen/html/html/globals_g.html +3 -0
  434. package/SVF-doxygen/html/html/globals_s.html +7 -5
  435. package/SVF-doxygen/html/html/globals_vars.html +27 -0
  436. package/SVF-doxygen/html/html/hierarchy.html +434 -432
  437. package/SVF-doxygen/html/html/menudata.js +5 -1
  438. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  439. package/SVF-doxygen/html/html/namespaceSVF.html +9 -5
  440. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -2
  441. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -8
  442. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  443. package/SVF-doxygen/html/html/search/all_0.js +1 -0
  444. package/SVF-doxygen/html/html/search/all_1.js +4 -1
  445. package/SVF-doxygen/html/html/search/all_10.js +8 -7
  446. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  447. package/SVF-doxygen/html/html/search/all_13.js +17 -14
  448. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  449. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  450. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  451. package/SVF-doxygen/html/html/search/all_2.js +3 -3
  452. package/SVF-doxygen/html/html/search/all_3.js +8 -1
  453. package/SVF-doxygen/html/html/search/all_4.js +1 -1
  454. package/SVF-doxygen/html/html/search/all_5.js +4 -4
  455. package/SVF-doxygen/html/html/search/all_6.js +4 -2
  456. package/SVF-doxygen/html/html/search/all_7.js +16 -5
  457. package/SVF-doxygen/html/html/search/all_9.js +3 -1
  458. package/SVF-doxygen/html/html/search/all_b.js +2 -1
  459. package/SVF-doxygen/html/html/search/all_c.js +5 -3
  460. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  461. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  462. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  463. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  464. package/SVF-doxygen/html/html/search/files_2.js +4 -0
  465. package/SVF-doxygen/html/html/search/functions_0.js +1 -0
  466. package/SVF-doxygen/html/html/search/functions_1.js +3 -3
  467. package/SVF-doxygen/html/html/search/functions_10.js +4 -2
  468. package/SVF-doxygen/html/html/search/functions_2.js +2 -1
  469. package/SVF-doxygen/html/html/search/functions_3.js +1 -1
  470. package/SVF-doxygen/html/html/search/functions_5.js +3 -0
  471. package/SVF-doxygen/html/html/search/functions_6.js +15 -5
  472. package/SVF-doxygen/html/html/search/functions_8.js +2 -0
  473. package/SVF-doxygen/html/html/search/functions_a.js +2 -0
  474. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  475. package/SVF-doxygen/html/html/search/functions_e.js +1 -0
  476. package/SVF-doxygen/html/html/search/typedefs_0.js +2 -1
  477. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  478. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  479. package/SVF-doxygen/html/html/search/variables_0.js +1 -0
  480. package/SVF-doxygen/html/html/search/variables_1.js +2 -0
  481. package/SVF-doxygen/html/html/search/variables_13.js +1 -0
  482. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  483. package/SVF-doxygen/html/html/search/variables_5.js +4 -4
  484. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  485. package/SVF-doxygen/html/html/search/variables_7.js +1 -0
  486. package/SVF-doxygen/html/html/search/variables_b.js +1 -0
  487. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  488. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  489. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +21 -21
  490. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +3 -2
  491. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +3 -2
  492. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
  493. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
  494. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  495. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
  496. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  497. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  498. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
  499. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
  500. package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
  501. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +5 -5
  502. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  503. package/include/CFL/CFGNormalizer.h +13 -2
  504. package/include/CFL/CFLAlias.h +26 -24
  505. package/include/CFL/CFLGramGraphChecker.h +64 -0
  506. package/include/CFL/CFLGrammar.h +76 -16
  507. package/include/CFL/CFLGrammar.txt +11 -0
  508. package/include/CFL/CFLGraphBuilder.h +114 -0
  509. package/include/CFL/GrammarBuilder.h +16 -4
  510. package/include/Graphs/CFLGraph.h +31 -58
  511. package/include/Graphs/GenericGraph.h +4 -0
  512. package/lib/CFL/CFGNormalizer.cpp +131 -31
  513. package/lib/CFL/CFLGrammar.cpp +145 -1
  514. package/lib/CFL/CFLGraphBuilder.cpp +120 -0
  515. package/lib/CFL/CFLSolver.cpp +2 -0
  516. package/lib/CFL/GrammarBuilder.cpp +55 -58
  517. package/lib/Graphs/CFLGraph.cpp +23 -82
  518. package/lib/Util/ExtAPI.cpp +4 -0
  519. package/package.json +1 -1
@@ -648,11 +648,11 @@ Additional Inherited Members</h2></td></tr>
648
648
  <p>Collect all loads/stores SVFGNodes. </p>
649
649
 
650
650
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00042">42</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
651
- <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFG.html#a225a91c04afac6a8fe198e9860890a52">SVFG::const_iterator</a> it = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it != eit; ++it)</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">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* snode = it-&gt;second;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;LoadSVFGNode&gt;(snode))</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* node = SVFUtil::cast&lt;StmtSVFGNode&gt;(snode);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>())</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">ldnodeSet</a>.insert(node);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(snode))</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* node = SVFUtil::cast&lt;StmtSVFGNode&gt;(snode);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>())</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; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.insert(node);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
651
+ <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFG.html#a225a91c04afac6a8fe198e9860890a52">SVFG::const_iterator</a> it = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it != eit; ++it)</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">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* snode = it-&gt;second;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;LoadSVFGNode&gt;(snode))</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; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* node = SVFUtil::cast&lt;StmtSVFGNode&gt;(snode);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>())</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">ldnodeSet</a>.insert(node);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(snode))</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* node = SVFUtil::cast&lt;StmtSVFGNode&gt;(snode);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>())</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; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.insert(node);</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;}</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
652
652
  <div class="ttc" id="classSVF_1_1VFG_html_a225a91c04afac6a8fe198e9860890a52"><div class="ttname"><a href="classSVF_1_1VFG.html#a225a91c04afac6a8fe198e9860890a52">SVF::VFG::const_iterator</a></div><div class="ttdeci">VFGNodeIDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00081">VFG.h:81</a></div></div>
653
653
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_aae94dd9031a6662d509627e602aef532"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">SVF::StmtVFGNode::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00185">VFGNode.h:185</a></div></div>
654
654
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a6dfa9807255258f324557d188adea9b2"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">SVF::MTASVFGBuilder::ldnodeSet</a></div><div class="ttdeci">SVFGNodeSet ldnodeSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00141">FSMPTA.h:141</a></div></div>
655
- <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
655
+ <div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
656
656
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a772436f5edc7b4bed3a3e8f0e55ac5ce"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">SVF::MTASVFGBuilder::stnodeSet</a></div><div class="ttdeci">SVFGNodeSet stnodeSet</div><div class="ttdoc">all stores/loads SVFGNodes </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00140">FSMPTA.h:140</a></div></div>
657
657
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
658
658
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00117">SVFGBuilder.h:117</a></div></div>
@@ -744,13 +744,13 @@ Additional Inherited Members</h2></td></tr>
744
744
 
745
745
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00321">321</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
746
746
  <div class="fragment"><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;{</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a26f850fc0fe434f1972c151d7c3ad9fd">prevset</a>.find(n)!=<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a26f850fc0fe434f1972c151d7c3ad9fd">prevset</a>.end())</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a26f850fc0fe434f1972c151d7c3ad9fd">prevset</a>[n];</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVFGNodeIDSet</a> prev;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> worklist;</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> visited;</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(); iter != n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>())</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>());</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = *worklist.begin();</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; worklist.erase(worklist.begin());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; visited.insert(node);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(node))</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; prev.set(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(); iter != node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>() &amp;&amp; visited.find(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>())==visited.end())</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>());</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a26f850fc0fe434f1972c151d7c3ad9fd">prevset</a>[n]=prev;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> prev;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
747
- <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
747
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
748
748
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
749
- <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
750
- <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
749
+ <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00218">GenericGraph.h:218</a></div></div>
750
+ <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
751
751
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a17da7e5da237c23873e17250d9746939"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVF::MTASVFGBuilder::SVFGNodeIDSet</a></div><div class="ttdeci">NodeBS SVFGNodeIDSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00080">FSMPTA.h:80</a></div></div>
752
752
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a467e7b445394acb735b1b24ce39e966a"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVF::MTASVFGBuilder::SVFGNodeSet</a></div><div class="ttdeci">Set&lt; const SVFGNode * &gt; SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00078">FSMPTA.h:78</a></div></div>
753
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
753
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
754
754
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a26f850fc0fe434f1972c151d7c3ad9fd"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a26f850fc0fe434f1972c151d7c3ad9fd">SVF::MTASVFGBuilder::prevset</a></div><div class="ttdeci">Map&lt; const StmtSVFGNode *, SVFGNodeIDSet &gt; prevset</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00151">FSMPTA.h:151</a></div></div>
755
755
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
756
756
  </div><!-- fragment -->
@@ -782,13 +782,13 @@ Additional Inherited Members</h2></td></tr>
782
782
 
783
783
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00359">359</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
784
784
  <div class="fragment"><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160;{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#ac909a7aa7de6cda8d2a89a9c7d2f4262">succset</a>.find(n)!=<a class="code" href="classSVF_1_1MTASVFGBuilder.html#ac909a7aa7de6cda8d2a89a9c7d2f4262">succset</a>.end())</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MTASVFGBuilder.html#ac909a7aa7de6cda8d2a89a9c7d2f4262">succset</a>[n];</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVFGNodeIDSet</a> succ;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> worklist;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> visited;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(); iter != n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>())</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>());</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = *worklist.begin();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; worklist.erase(worklist.begin());</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; visited.insert(node);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(node) || SVFUtil::isa&lt;LoadSVFGNode&gt;(node))</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; succ.set(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(); iter != node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>() &amp;&amp; visited.find(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()) == visited.end())</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>());</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#ac909a7aa7de6cda8d2a89a9c7d2f4262">succset</a>[n]=succ;</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> succ;</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
785
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
785
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
786
786
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
787
- <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
787
+ <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
788
788
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a17da7e5da237c23873e17250d9746939"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVF::MTASVFGBuilder::SVFGNodeIDSet</a></div><div class="ttdeci">NodeBS SVFGNodeIDSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00080">FSMPTA.h:80</a></div></div>
789
789
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a467e7b445394acb735b1b24ce39e966a"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVF::MTASVFGBuilder::SVFGNodeSet</a></div><div class="ttdeci">Set&lt; const SVFGNode * &gt; SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00078">FSMPTA.h:78</a></div></div>
790
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
791
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
790
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
791
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
792
792
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_ac909a7aa7de6cda8d2a89a9c7d2f4262"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#ac909a7aa7de6cda8d2a89a9c7d2f4262">SVF::MTASVFGBuilder::succset</a></div><div class="ttdeci">Map&lt; const StmtSVFGNode *, SVFGNodeIDSet &gt; succset</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00152">FSMPTA.h:152</a></div></div>
793
793
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
794
794
  </div><!-- fragment -->
@@ -830,15 +830,15 @@ Additional Inherited Members</h2></td></tr>
830
830
 
831
831
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00397">397</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
832
832
  <div class="fragment"><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;{</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVFGNodeIDSet</a> succ;</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> worklist;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVFGNodeSet</a> visited;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(); iter != n-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>())</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; {</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* e = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(edge);</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> pts = e-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">if</span>(pts.test(o))</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>());</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; {</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = *worklist.begin();</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; worklist.erase(worklist.begin());</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; visited.insert(node);</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;StoreSVFGNode&gt;(node) || SVFUtil::isa&lt;LoadSVFGNode&gt;(node))</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; succ.set(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(); iter != node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; {</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>() &amp;&amp; visited.find(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()) == visited.end())</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* e = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(edge);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> pts = e-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordflow">if</span>(pts.test(o))</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; worklist.insert(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>());</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> succ;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
833
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
833
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
834
834
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
835
- <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
835
+ <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
836
836
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a17da7e5da237c23873e17250d9746939"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVF::MTASVFGBuilder::SVFGNodeIDSet</a></div><div class="ttdeci">NodeBS SVFGNodeIDSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00080">FSMPTA.h:80</a></div></div>
837
837
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a467e7b445394acb735b1b24ce39e966a"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a467e7b445394acb735b1b24ce39e966a">SVF::MTASVFGBuilder::SVFGNodeSet</a></div><div class="ttdeci">Set&lt; const SVFGNode * &gt; SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00078">FSMPTA.h:78</a></div></div>
838
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
838
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
839
839
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
840
840
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
841
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
841
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
842
842
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
843
843
  <div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
844
844
  </div><!-- fragment -->
@@ -904,7 +904,7 @@ Additional Inherited Members</h2></td></tr>
904
904
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_ac8339229ade604f4205b111bfc99f23f"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#ac8339229ade604f4205b111bfc99f23f">SVF::MTASVFGBuilder::isTailofSpan</a></div><div class="ttdeci">bool isTailofSpan(const StmtSVFGNode *n, LockAnalysis::LockSpan lspan)</div><div class="ttdoc">whether is a last write in the lock span. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00262">FSMPTA.cpp:262</a></div></div>
905
905
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a5c32c2f5038aab15ec2da50c7c99b405"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a5c32c2f5038aab15ec2da50c7c99b405">SVF::MTASVFGBuilder::isHeadofSpan</a></div><div class="ttdeci">bool isHeadofSpan(const StmtSVFGNode *n, LockAnalysis::LockSpan lspan)</div><div class="ttdoc">whether is a first write in the lock span. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00179">FSMPTA.cpp:179</a></div></div>
906
906
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
907
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
907
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
908
908
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
909
909
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a4d4501d62bf51475662b6ba66e6380aa"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">SVF::LockAnalysis::isProtectedByCommonLock</a></div><div class="ttdeci">bool isProtectedByCommonLock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00566">LockAnalysis.cpp:566</a></div></div>
910
910
  </div><!-- fragment -->
@@ -955,7 +955,7 @@ Additional Inherited Members</h2></td></tr>
955
955
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
956
956
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a2e654f80c3680cd434fd04932a309a2d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">SVF::MTASVFGBuilder::addTDEdges</a></div><div class="ttdeci">SVFGEdge * addTDEdges(NodeID srcId, NodeID dstId, PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00103">FSMPTA.cpp:103</a></div></div>
957
957
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
958
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
958
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
959
959
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
960
960
  </div><!-- fragment -->
961
961
  </div>
@@ -1066,7 +1066,7 @@ Additional Inherited Members</h2></td></tr>
1066
1066
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_ac8339229ade604f4205b111bfc99f23f"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#ac8339229ade604f4205b111bfc99f23f">SVF::MTASVFGBuilder::isTailofSpan</a></div><div class="ttdeci">bool isTailofSpan(const StmtSVFGNode *n, LockAnalysis::LockSpan lspan)</div><div class="ttdoc">whether is a last write in the lock span. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00262">FSMPTA.cpp:262</a></div></div>
1067
1067
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a5c32c2f5038aab15ec2da50c7c99b405"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a5c32c2f5038aab15ec2da50c7c99b405">SVF::MTASVFGBuilder::isHeadofSpan</a></div><div class="ttdeci">bool isHeadofSpan(const StmtSVFGNode *n, LockAnalysis::LockSpan lspan)</div><div class="ttdoc">whether is a first write in the lock span. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00179">FSMPTA.cpp:179</a></div></div>
1068
1068
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
1069
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
1069
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
1070
1070
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
1071
1071
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a4d4501d62bf51475662b6ba66e6380aa"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">SVF::LockAnalysis::isProtectedByCommonLock</a></div><div class="ttdeci">bool isProtectedByCommonLock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00566">LockAnalysis.cpp:566</a></div></div>
1072
1072
  </div><!-- fragment -->
@@ -1116,7 +1116,7 @@ Additional Inherited Members</h2></td></tr>
1116
1116
  <div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;{</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(n1-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#a04986961ad507be9fcf141ab51787da8">getPAGDstNodeID</a>());</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; pts &amp;= pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(n2-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#a04986961ad507be9fcf141ab51787da8">getPAGDstNodeID</a>());</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">addTDEdges</a>(n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), n2-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), pts);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">addTDEdges</a>(n2-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), pts);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;}</div><div class="ttc" id="classSVF_1_1StmtVFGNode_html_a04986961ad507be9fcf141ab51787da8"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a04986961ad507be9fcf141ab51787da8">SVF::StmtVFGNode::getPAGDstNodeID</a></div><div class="ttdeci">NodeID getPAGDstNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00146">VFGNode.h:146</a></div></div>
1117
1117
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo &amp; getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
1118
1118
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a2e654f80c3680cd434fd04932a309a2d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a2e654f80c3680cd434fd04932a309a2d">SVF::MTASVFGBuilder::addTDEdges</a></div><div class="ttdeci">SVFGEdge * addTDEdges(NodeID srcId, NodeID dstId, PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00103">FSMPTA.cpp:103</a></div></div>
1119
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
1119
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
1120
1120
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
1121
1121
  </div><!-- fragment -->
1122
1122
  </div>
@@ -1549,16 +1549,16 @@ Additional Inherited Members</h2></td></tr>
1549
1549
  <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1550
1550
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
1551
1551
  <div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
1552
- <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
1552
+ <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
1553
1553
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1554
1554
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00180">PointsTo.h:180</a></div></div>
1555
1555
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
1556
- <div class="ttc" id="classSVF_1_1GenericNode_html_a0931220d7a38e03f206cbdc6465d32ad"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">SVF::GenericNode::hasOutgoingEdge</a></div><div class="ttdeci">bool hasOutgoingEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00194">GenericGraph.h:194</a></div></div>
1556
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a0931220d7a38e03f206cbdc6465d32ad"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">SVF::GenericNode::hasOutgoingEdge</a></div><div class="ttdeci">bool hasOutgoingEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00198">GenericGraph.h:198</a></div></div>
1557
1557
  <div class="ttc" id="classSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
1558
1558
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
1559
1559
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a07c3f5fa2e0092dac28521cf901a26cf"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a07c3f5fa2e0092dac28521cf901a26cf">SVF::MTASVFGBuilder::numOfRemovedPTS</a></div><div class="ttdeci">static u32_t numOfRemovedPTS</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00096">FSMPTA.h:96</a></div></div>
1560
1560
  <div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00127">PointsTo.h:127</a></div></div>
1561
- <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
1561
+ <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
1562
1562
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
1563
1563
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a13ac51421add3cb242ad823e18938c95"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">SVF::MTASVFGBuilder::recordedges</a></div><div class="ttdeci">Set&lt; NodeIDPair &gt; recordedges</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00147">FSMPTA.h:147</a></div></div>
1564
1564
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a0319d1d2e78c79f9943f2e2f65da26ed"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a0319d1d2e78c79f9943f2e2f65da26ed">SVF::MTASVFGBuilder::numOfRemovedSVFGEdges</a></div><div class="ttdeci">static u32_t numOfRemovedSVFGEdges</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00095">FSMPTA.h:95</a></div></div>
@@ -1567,7 +1567,7 @@ Additional Inherited Members</h2></td></tr>
1567
1567
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
1568
1568
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
1569
1569
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
1570
- <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
1570
+ <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
1571
1571
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
1572
1572
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00117">SVFGBuilder.h:117</a></div></div>
1573
1573
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
@@ -1603,19 +1603,19 @@ Additional Inherited Members</h2></td></tr>
1603
1603
 
1604
1604
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00635">635</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
1605
1605
  <div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;{</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.clear();</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">edge2pts</a>.clear();</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">for</span> (SVFGNodeSet::iterator it1 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.begin(), eit1 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.end(); it1 != eit1; ++it1)</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n1 = SVFUtil::cast&lt;StmtSVFGNode&gt;(*it1);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(); iter != n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>() &amp;&amp; SVFUtil::isa&lt;StoreSVFGNode&gt;(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()))</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n2 = SVFUtil::cast&lt;StmtSVFGNode&gt;(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>());</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* e = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(edge);</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> pts = e-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> remove_pts;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">for</span> (NodeBS::iterator o = pts.begin(), eo = pts.end(); o != eo; ++o)</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVFGNodeIDSet</a> succ1 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a7033805052c8fae5cd0104fdd9e345c0">getSuccNodes</a>(n1, *o);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVFGNodeIDSet</a> succ2 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a7033805052c8fae5cd0104fdd9e345c0">getSuccNodes</a>(n2, *o);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordtype">bool</span> <span class="keyword">remove</span> = <span class="keyword">true</span>;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">for</span> (SVFGNodeIDSet::iterator sn1 = succ1.begin(), esn1 = succ1.end(); sn1 != esn1; sn1++)</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">if</span> (!succ2.test(*sn1))</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; {</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keyword">remove</span> = <span class="keyword">false</span>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; }</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">remove</span>)</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; remove_pts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(*o);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; }</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">if</span> (remove_pts.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>())</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a97179139a6395a7062d3200c23d4b69d">recordRemovingEdge</a>(n2-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), remove_pts);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; }</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a26b6750de23395a89767288b2eabb1ef">performRemovingMHPEdges</a>();</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;}</div><div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
1606
- <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
1606
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
1607
1607
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a7033805052c8fae5cd0104fdd9e345c0"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a7033805052c8fae5cd0104fdd9e345c0">SVF::MTASVFGBuilder::getSuccNodes</a></div><div class="ttdeci">SVFGNodeIDSet getSuccNodes(const StmtSVFGNode *n)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00359">FSMPTA.cpp:359</a></div></div>
1608
1608
  <div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
1609
1609
  <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00107">PointsTo.cpp:107</a></div></div>
1610
1610
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a13ac51421add3cb242ad823e18938c95"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">SVF::MTASVFGBuilder::recordedges</a></div><div class="ttdeci">Set&lt; NodeIDPair &gt; recordedges</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00147">FSMPTA.h:147</a></div></div>
1611
1611
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a772436f5edc7b4bed3a3e8f0e55ac5ce"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">SVF::MTASVFGBuilder::stnodeSet</a></div><div class="ttdeci">SVFGNodeSet stnodeSet</div><div class="ttdoc">all stores/loads SVFGNodes </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00140">FSMPTA.h:140</a></div></div>
1612
- <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
1612
+ <div class="ttc" id="classSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00218">GenericGraph.h:218</a></div></div>
1613
1613
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a97179139a6395a7062d3200c23d4b69d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a97179139a6395a7062d3200c23d4b69d">SVF::MTASVFGBuilder::recordRemovingEdge</a></div><div class="ttdeci">bool recordRemovingEdge(NodeID id1, NodeID id2, PointsTo pts)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00086">FSMPTA.cpp:86</a></div></div>
1614
- <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
1614
+ <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
1615
1615
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00153">PointsTo.cpp:153</a></div></div>
1616
1616
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a17da7e5da237c23873e17250d9746939"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a17da7e5da237c23873e17250d9746939">SVF::MTASVFGBuilder::SVFGNodeIDSet</a></div><div class="ttdeci">NodeBS SVFGNodeIDSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00080">FSMPTA.h:80</a></div></div>
1617
1617
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a26b6750de23395a89767288b2eabb1ef"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a26b6750de23395a89767288b2eabb1ef">SVF::MTASVFGBuilder::performRemovingMHPEdges</a></div><div class="ttdeci">void performRemovingMHPEdges()</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00123">FSMPTA.cpp:123</a></div></div>
1618
- <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
1618
+ <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
1619
1619
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a1c0de33bba2f05f14140d872c345ab38"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">SVF::MTASVFGBuilder::edge2pts</a></div><div class="ttdeci">Map&lt; NodeIDPair, PointsTo &gt; edge2pts</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00148">FSMPTA.h:148</a></div></div>
1620
1620
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
1621
1621
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>