svf-tools 1.0.596 → 1.0.597

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (801) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  7. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  10. package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
  11. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -16
  12. package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
  13. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -20
  14. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
  17. package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
  18. package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -27
  19. package/SVF-doxygen/html/html/CHG_8h.html +4 -6
  20. package/SVF-doxygen/html/html/CHG_8h_source.html +13 -14
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  23. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  24. package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
  25. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -28
  26. package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
  27. package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -11
  28. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  29. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  31. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -21
  32. package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
  33. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -16
  34. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  39. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +4 -3
  40. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +24 -24
  41. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  44. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
  46. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  51. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  52. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/GenericGraph_8h.html +8 -9
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +125 -125
  56. package/SVF-doxygen/html/html/GraphPrinter_8h.html +3 -2
  57. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +7 -7
  58. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -4
  59. package/SVF-doxygen/html/html/GraphTraits_8h.html +20 -19
  60. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +13 -13
  61. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/GraphWriter_8h.html +23 -22
  63. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +48 -48
  64. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  65. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  66. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
  67. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  68. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
  70. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -28
  71. package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
  72. package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -15
  73. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  74. package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
  75. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -21
  76. package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
  77. package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -10
  78. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
  79. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +38 -39
  80. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +19 -19
  81. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
  82. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  83. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
  84. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  85. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  86. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  87. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
  88. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  89. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  90. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
  92. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  93. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
  94. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  95. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
  97. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  98. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  102. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  103. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  104. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  105. package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
  106. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  107. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
  108. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -28
  109. package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
  110. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -18
  111. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  112. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  113. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  114. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  115. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  116. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  117. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  118. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
  119. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  120. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  121. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  123. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  124. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
  125. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  126. package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
  127. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -24
  128. package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
  129. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -14
  130. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
  131. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
  132. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  133. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
  134. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  135. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  136. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
  137. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
  138. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
  139. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  140. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  141. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
  142. package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
  143. package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
  144. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
  145. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
  146. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
  147. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
  148. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  149. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  150. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  151. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  152. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -4
  153. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  154. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
  155. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
  156. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  157. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  158. package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
  159. package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -39
  160. package/SVF-doxygen/html/html/TCT_8h.html +4 -6
  161. package/SVF-doxygen/html/html/TCT_8h_source.html +27 -28
  162. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
  163. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  164. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  165. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
  166. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  167. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  168. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  169. package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
  170. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -21
  171. package/SVF-doxygen/html/html/VFG_8h.html +4 -6
  172. package/SVF-doxygen/html/html/VFG_8h_source.html +14 -15
  173. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  174. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  175. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -3
  176. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
  177. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  178. package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -4
  179. package/SVF-doxygen/html/html/annotated.html +291 -291
  180. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  183. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  184. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  192. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
  194. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  196. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
  198. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  199. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
  201. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  203. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  204. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  206. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  207. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  209. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
  211. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
  212. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
  213. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  214. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  215. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
  216. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +17 -17
  217. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
  218. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  220. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
  222. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
  226. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +30 -30
  230. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  231. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  232. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  233. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  234. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  236. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  239. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -35
  241. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  242. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
  243. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  245. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  246. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  249. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
  252. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
  253. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  255. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
  257. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  258. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
  260. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
  261. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
  262. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  265. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  266. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
  267. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
  268. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  269. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  270. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +98 -97
  271. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  272. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
  273. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  274. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
  276. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
  278. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
  279. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
  281. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
  282. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +19 -19
  284. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
  285. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  286. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +11 -11
  289. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  290. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  292. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  293. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
  294. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  295. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
  297. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  298. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -7
  301. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +69 -69
  302. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
  303. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  304. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  307. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
  308. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
  309. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  310. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  312. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
  314. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  315. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  316. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  317. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
  318. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  319. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
  321. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  322. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  323. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
  324. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  325. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  326. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  327. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +25 -25
  328. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  329. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
  330. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  331. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  332. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
  333. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  334. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  335. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
  337. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  338. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  339. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  340. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  341. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  342. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
  343. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
  344. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
  345. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
  346. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
  347. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
  388. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
  389. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  390. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  391. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
  392. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
  393. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  394. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  395. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
  397. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  398. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  399. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  400. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
  401. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
  402. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  403. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
  404. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  405. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  406. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  407. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
  408. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  409. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  410. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  411. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  412. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  413. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  414. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  415. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
  416. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  417. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +21 -21
  418. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  419. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  420. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
  421. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  422. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
  423. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
  424. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  425. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  426. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
  427. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
  428. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -7
  429. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
  430. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
  431. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
  432. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
  433. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
  434. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
  435. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
  436. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
  437. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
  438. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
  439. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
  440. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
  441. package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
  442. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
  443. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
  444. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
  445. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
  446. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
  447. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
  448. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
  449. package/SVF-doxygen/html/html/classes.html +59 -59
  450. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  451. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -2
  452. package/SVF-doxygen/html/html/functions_a.html +1 -1
  453. package/SVF-doxygen/html/html/functions_b.html +4 -4
  454. package/SVF-doxygen/html/html/functions_c.html +20 -18
  455. package/SVF-doxygen/html/html/functions_d.html +20 -20
  456. package/SVF-doxygen/html/html/functions_e.html +14 -16
  457. package/SVF-doxygen/html/html/functions_eval_i.html +2 -2
  458. package/SVF-doxygen/html/html/functions_f.html +1 -1
  459. package/SVF-doxygen/html/html/functions_func.html +1 -1
  460. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  461. package/SVF-doxygen/html/html/functions_func_c.html +4 -4
  462. package/SVF-doxygen/html/html/functions_func_d.html +14 -14
  463. package/SVF-doxygen/html/html/functions_func_e.html +8 -8
  464. package/SVF-doxygen/html/html/functions_func_g.html +72 -72
  465. package/SVF-doxygen/html/html/functions_func_h.html +4 -7
  466. package/SVF-doxygen/html/html/functions_func_i.html +17 -20
  467. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  468. package/SVF-doxygen/html/html/functions_func_n.html +3 -3
  469. package/SVF-doxygen/html/html/functions_func_o.html +24 -24
  470. package/SVF-doxygen/html/html/functions_func_p.html +4 -4
  471. package/SVF-doxygen/html/html/functions_func_r.html +2 -2
  472. package/SVF-doxygen/html/html/functions_func_s.html +15 -18
  473. package/SVF-doxygen/html/html/functions_func_w.html +8 -8
  474. package/SVF-doxygen/html/html/functions_g.html +84 -82
  475. package/SVF-doxygen/html/html/functions_h.html +6 -12
  476. package/SVF-doxygen/html/html/functions_i.html +40 -43
  477. package/SVF-doxygen/html/html/functions_l.html +3 -3
  478. package/SVF-doxygen/html/html/functions_m.html +1 -1
  479. package/SVF-doxygen/html/html/functions_n.html +30 -30
  480. package/SVF-doxygen/html/html/functions_o.html +39 -43
  481. package/SVF-doxygen/html/html/functions_p.html +16 -16
  482. package/SVF-doxygen/html/html/functions_r.html +8 -6
  483. package/SVF-doxygen/html/html/functions_rela.html +3 -3
  484. package/SVF-doxygen/html/html/functions_s.html +22 -25
  485. package/SVF-doxygen/html/html/functions_t.html +3 -3
  486. package/SVF-doxygen/html/html/functions_type_b.html +1 -1
  487. package/SVF-doxygen/html/html/functions_type_c.html +7 -7
  488. package/SVF-doxygen/html/html/functions_type_d.html +4 -4
  489. package/SVF-doxygen/html/html/functions_type_e.html +4 -4
  490. package/SVF-doxygen/html/html/functions_type_g.html +6 -6
  491. package/SVF-doxygen/html/html/functions_type_i.html +4 -4
  492. package/SVF-doxygen/html/html/functions_type_n.html +27 -27
  493. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  494. package/SVF-doxygen/html/html/functions_type_r.html +2 -2
  495. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  496. package/SVF-doxygen/html/html/functions_v.html +5 -5
  497. package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
  498. package/SVF-doxygen/html/html/functions_vars_d.html +1 -1
  499. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  500. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  501. package/SVF-doxygen/html/html/functions_vars_g.html +7 -5
  502. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  503. package/SVF-doxygen/html/html/functions_vars_i.html +6 -6
  504. package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
  505. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  506. package/SVF-doxygen/html/html/functions_w.html +17 -17
  507. package/SVF-doxygen/html/html/hierarchy.html +159 -159
  508. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  509. package/SVF-doxygen/html/html/iterator_8h.html +16 -15
  510. package/SVF-doxygen/html/html/iterator_8h_source.html +53 -53
  511. package/SVF-doxygen/html/html/iterator__range_8h.html +9 -8
  512. package/SVF-doxygen/html/html/iterator__range_8h_source.html +11 -11
  513. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  514. package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
  515. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
  516. package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
  517. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
  518. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  519. package/SVF-doxygen/html/html/namespacellvm.html +1 -572
  520. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -3
  521. package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
  522. package/SVF-doxygen/html/html/namespacemembers_e.html +1 -1
  523. package/SVF-doxygen/html/html/namespacemembers_enum.html +1 -1
  524. package/SVF-doxygen/html/html/namespacemembers_eval.html +5 -5
  525. package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
  526. package/SVF-doxygen/html/html/namespacemembers_func_c.html +2 -2
  527. package/SVF-doxygen/html/html/namespacemembers_func_e.html +1 -1
  528. package/SVF-doxygen/html/html/namespacemembers_func_i.html +8 -5
  529. package/SVF-doxygen/html/html/namespacemembers_func_m.html +4 -4
  530. package/SVF-doxygen/html/html/namespacemembers_func_n.html +1 -1
  531. package/SVF-doxygen/html/html/namespacemembers_func_v.html +1 -1
  532. package/SVF-doxygen/html/html/namespacemembers_func_w.html +1 -1
  533. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  534. package/SVF-doxygen/html/html/namespacemembers_i.html +6 -3
  535. package/SVF-doxygen/html/html/namespacemembers_m.html +4 -4
  536. package/SVF-doxygen/html/html/namespacemembers_n.html +3 -3
  537. package/SVF-doxygen/html/html/namespacemembers_r.html +1 -1
  538. package/SVF-doxygen/html/html/namespacemembers_t.html +1 -1
  539. package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
  540. package/SVF-doxygen/html/html/namespacemembers_type_r.html +1 -1
  541. package/SVF-doxygen/html/html/namespacemembers_v.html +1 -1
  542. package/SVF-doxygen/html/html/namespacemembers_w.html +1 -1
  543. package/SVF-doxygen/html/html/namespaces.html +5 -5
  544. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  545. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  546. package/SVF-doxygen/html/html/search/all_10.js +12 -12
  547. package/SVF-doxygen/html/html/search/all_11.js +7 -7
  548. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  549. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  550. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  551. package/SVF-doxygen/html/html/search/all_16.js +10 -10
  552. package/SVF-doxygen/html/html/search/all_2.js +3 -3
  553. package/SVF-doxygen/html/html/search/all_3.js +7 -7
  554. package/SVF-doxygen/html/html/search/all_4.js +20 -20
  555. package/SVF-doxygen/html/html/search/all_5.js +9 -9
  556. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  557. package/SVF-doxygen/html/html/search/all_7.js +87 -87
  558. package/SVF-doxygen/html/html/search/all_8.js +1 -3
  559. package/SVF-doxygen/html/html/search/all_9.js +23 -23
  560. package/SVF-doxygen/html/html/search/all_c.js +2 -4
  561. package/SVF-doxygen/html/html/search/all_d.js +5 -5
  562. package/SVF-doxygen/html/html/search/all_e.js +11 -11
  563. package/SVF-doxygen/html/html/search/all_f.js +19 -19
  564. package/SVF-doxygen/html/html/search/classes_3.js +13 -13
  565. package/SVF-doxygen/html/html/search/classes_6.js +64 -64
  566. package/SVF-doxygen/html/html/search/classes_8.js +10 -10
  567. package/SVF-doxygen/html/html/search/classes_a.js +1 -1
  568. package/SVF-doxygen/html/html/search/classes_d.js +2 -2
  569. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  570. package/SVF-doxygen/html/html/search/enums_8.js +1 -1
  571. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -1
  572. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
  573. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -1
  574. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -1
  575. package/SVF-doxygen/html/html/search/enumvalues_8.js +2 -2
  576. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
  577. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  578. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  579. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  580. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  581. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  582. package/SVF-doxygen/html/html/search/functions_15.js +8 -8
  583. package/SVF-doxygen/html/html/search/functions_2.js +4 -4
  584. package/SVF-doxygen/html/html/search/functions_3.js +5 -5
  585. package/SVF-doxygen/html/html/search/functions_4.js +7 -7
  586. package/SVF-doxygen/html/html/search/functions_6.js +21 -21
  587. package/SVF-doxygen/html/html/search/functions_7.js +1 -2
  588. package/SVF-doxygen/html/html/search/functions_8.js +8 -8
  589. package/SVF-doxygen/html/html/search/functions_c.js +5 -5
  590. package/SVF-doxygen/html/html/search/functions_d.js +4 -4
  591. package/SVF-doxygen/html/html/search/functions_e.js +14 -14
  592. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  593. package/SVF-doxygen/html/html/search/namespaces_0.js +0 -2
  594. package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
  595. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  596. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
  597. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  598. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  599. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -2
  600. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  601. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  602. package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
  603. package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
  604. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
  605. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
  606. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  607. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  608. package/SVF-doxygen/html/html/search/variables_2.js +1 -1
  609. package/SVF-doxygen/html/html/search/variables_4.js +1 -1
  610. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  611. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  612. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  613. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  614. package/SVF-doxygen/html/html/search/variables_9.js +5 -5
  615. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  616. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  617. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  618. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
  619. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
  620. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
  621. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
  622. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
  623. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  624. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
  625. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
  626. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  627. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
  628. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
  629. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  630. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
  631. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
  632. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  633. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
  634. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
  635. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  636. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
  637. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
  638. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  639. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
  640. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
  641. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  642. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
  643. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
  644. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  645. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
  646. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
  647. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  648. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
  649. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
  650. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
  651. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  652. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
  653. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
  654. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  655. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  656. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  657. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  658. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
  659. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  660. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  661. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
  662. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  663. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  664. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
  665. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  666. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  667. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
  668. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  669. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
  670. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
  671. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  672. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
  673. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  674. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  675. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
  676. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  677. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  678. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
  679. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  680. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  681. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
  682. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  683. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  684. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
  685. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  686. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
  687. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
  688. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  689. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  690. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
  691. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  692. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
  693. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
  694. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  695. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  696. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
  697. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  698. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
  699. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
  700. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  701. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  702. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
  703. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  704. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
  705. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
  706. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  707. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  708. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
  709. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  710. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
  711. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
  712. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
  713. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
  714. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
  715. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
  716. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  717. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
  718. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  719. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
  720. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
  721. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  722. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
  723. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
  724. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  725. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  726. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
  727. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  728. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
  729. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
  730. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  731. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
  732. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
  733. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  734. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  735. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
  736. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  737. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  738. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
  739. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  740. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
  741. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
  742. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  743. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  744. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
  745. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  746. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
  747. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
  748. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  749. package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
  750. package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
  751. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
  752. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
  753. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
  754. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  755. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  756. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  757. package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
  758. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  759. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  760. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  761. package/include/Graphs/CFLGraph.h +6 -6
  762. package/include/Graphs/CHG.h +6 -6
  763. package/include/Graphs/ConsG.h +6 -6
  764. package/include/Graphs/DOTGraphTraits.h +3 -3
  765. package/include/Graphs/GenericGraph.h +10 -9
  766. package/include/Graphs/GraphPrinter.h +2 -2
  767. package/include/Graphs/GraphTraits.h +29 -29
  768. package/include/Graphs/GraphWriter.h +6 -6
  769. package/include/Graphs/ICFG.h +6 -6
  770. package/include/Graphs/IRGraph.h +6 -7
  771. package/include/Graphs/PTACallGraph.h +6 -6
  772. package/include/Graphs/SVFG.h +6 -6
  773. package/include/Graphs/VFG.h +6 -6
  774. package/include/MTA/TCT.h +6 -6
  775. package/include/SABER/SrcSnkSolver.h +2 -2
  776. package/include/SVF-LLVM/DCHG.h +6 -6
  777. package/include/SVF-LLVM/LLVMUtil.h +5 -0
  778. package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
  779. package/include/SVFIR/SVFValue.h +2 -11
  780. package/include/SVFIR/SVFVariables.h +5 -5
  781. package/include/Util/GraphReachSolver.h +2 -2
  782. package/include/Util/SCC.h +1 -1
  783. package/include/Util/iterator.h +32 -32
  784. package/include/Util/iterator_range.h +11 -11
  785. package/include/WPA/WPASolver.h +1 -1
  786. package/lib/Graphs/CFLGraph.cpp +2 -2
  787. package/lib/Graphs/CHG.cpp +2 -2
  788. package/lib/Graphs/ConsG.cpp +2 -2
  789. package/lib/Graphs/GraphWriter.cpp +1 -1
  790. package/lib/Graphs/ICFG.cpp +2 -2
  791. package/lib/Graphs/IRGraph.cpp +2 -2
  792. package/lib/Graphs/PTACallGraph.cpp +2 -2
  793. package/lib/Graphs/SVFG.cpp +1 -1
  794. package/lib/Graphs/VFG.cpp +2 -2
  795. package/lib/MTA/TCT.cpp +1 -1
  796. package/lib/SVF-LLVM/LLVMModule.cpp +0 -2
  797. package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
  798. package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
  799. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
  800. package/lib/SVFIR/SVFValue.cpp +0 -1
  801. package/package.json +1 -1
@@ -90,7 +90,7 @@ $(function() {
90
90
  <div class="ttc" id="classSVF_1_1StoreCHI_html"><div class="ttname"><a href="classSVF_1_1StoreCHI.html">SVF::StoreCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00461">MSSAMuChi.h:461</a></div></div>
91
91
  <div class="ttc" id="classSVF_1_1CallCHI_html_ac4f516d070475b92700713121db938b6"><div class="ttname"><a href="classSVF_1_1CallCHI.html#ac4f516d070475b92700713121db938b6">SVF::CallCHI::getBasicBlock</a></div><div class="ttdeci">const SVFBasicBlock * getBasicBlock() const</div><div class="ttdoc">Return basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00538">MSSAMuChi.h:538</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1MemSSA_html_a7be50dd82679b45a8c400f5a12056a25"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a7be50dd82679b45a8c400f5a12056a25">SVF::MemSSA::CALLMU</a></div><div class="ttdeci">CallMU&lt; Condition &gt; CALLMU</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00062">MemSSA.h:62</a></div></div>
93
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00266">SVFValue.h:266</a></div></div>
93
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
94
94
  <div class="ttc" id="classSVF_1_1MemSSA_html_a0e4aa3519d1805cfee0190ec43155beb"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a0e4aa3519d1805cfee0190ec43155beb">SVF::MemSSA::BBList</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; BBList</div><div class="ttdoc">For phi insertion. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00093">MemSSA.h:93</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1MemSSA_html_a4fc930040ec54eb60629da18fb6a4d04"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">SVF::MemSSA::stat</a></div><div class="ttdeci">MemSSAStat * stat</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00123">MemSSA.h:123</a></div></div>
96
96
  <div class="ttc" id="classSVF_1_1MemSSA_html_a3a2dde7ee3aaf6f66038a6b5ae7255a0"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a3a2dde7ee3aaf6f66038a6b5ae7255a0">SVF::MemSSA::AddStoreCHI</a></div><div class="ttdeci">void AddStoreCHI(const SVFBasicBlock *bb, const StoreStmt *store, const MRSet &amp;mrSet)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00192">MemSSA.h:192</a></div></div>
@@ -188,7 +188,7 @@ $(function() {
188
188
  <div class="ttc" id="classSVF_1_1MemSSA_html_afd4787df4466c24948d8384e3a756198"><div class="ttname"><a href="classSVF_1_1MemSSA.html#afd4787df4466c24948d8384e3a756198">SVF::MemSSA::getFunToEntryChiSetMap</a></div><div class="ttdeci">FunToEntryChiSetMap &amp; getFunToEntryChiSetMap()</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00415">MemSSA.h:415</a></div></div>
189
189
  <div class="ttc" id="classSVF_1_1CallCHI_html"><div class="ttname"><a href="classSVF_1_1CallCHI.html">SVF::CallCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00521">MSSAMuChi.h:521</a></div></div>
190
190
  <div class="ttc" id="classSVF_1_1MemSSA_html_ae09603b40c7359c4cd2f644d3efc40cc"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ae09603b40c7359c4cd2f644d3efc40cc">SVF::MemSSA::~MemSSA</a></div><div class="ttdeci">virtual ~MemSSA()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00299">MemSSA.h:299</a></div></div>
191
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00480">SVFValue.h:480</a></div></div>
191
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
192
192
  <div class="ttc" id="classSVF_1_1MemRegion_html"><div class="ttname"><a href="classSVF_1_1MemRegion.html">SVF::MemRegion</a></div><div class="ttdoc">Memory Region class. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00055">MemRegion.h:55</a></div></div>
193
193
  <div class="ttc" id="classSVF_1_1MemSSA_html_a503f2fda873c330ef2cc5561f396ea6e"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a503f2fda873c330ef2cc5561f396ea6e">SVF::MemSSA::CHI</a></div><div class="ttdeci">MSSACHI&lt; Condition &gt; CHI</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00063">MemSSA.h:63</a></div></div>
194
194
  <div class="ttc" id="classSVF_1_1MemSSA_html_a67175188232e08f5c5374f92ff61810f"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a67175188232e08f5c5374f92ff61810f">SVF::MemSSA::getFunRetMuNum</a></div><div class="ttdeci">u32_t getFunRetMuNum() const</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00511">MemSSA.cpp:511</a></div></div>
@@ -67,22 +67,22 @@ $(function() {
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
69
  <a href="PCG_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- PCG.cpp -- Procedure creation graph-------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * PCG.cpp</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Jun 24, 2015</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui, Peng Di</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Options_8h.html">Util/Options.h</a>&quot;</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PCG_8h.html">MTA/PCG.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="comment">//=====================================================//</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="comment"></span><span class="comment">//static llvm::cl::opt&lt;bool&gt; TDPrint(&quot;print-td&quot;, llvm::cl::init(true), llvm::cl::desc(&quot;Print Thread Analysis Results&quot;));</span></div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53"> 43</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53">PCG::analyze</a>()</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;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">//callgraph = new PTACallGraph(mod);</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">&quot;Starting MHP analysis\n&quot;</span>));</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; initFromThreadAPI(mod);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; inferFromCallGraph();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="comment">//interferenceAnalysis();</span></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="comment">//if (Options::TDPrint) {</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">//printResults();</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">//tdAPI-&gt;performAPIStat(mod);</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">//}</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#af3e4194411bb061802afddacab7587b7"> 63</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#af3e4194411bb061802afddacab7587b7">PCG::mayHappenInParallelBetweenFunctions</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2)<span class="keyword"> const</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// if neither of functions are spawnees, then they won&#39;t happen in parallel</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (isSpawneeFun(fun1) == <span class="keyword">false</span> &amp;&amp; isSpawneeFun(fun2) == <span class="keyword">false</span>)</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// if there exit one of the function are not spawner, spawnee or follower, then they won&#39;t happen in parallel</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (isSpawnerFun(fun1) == <span class="keyword">false</span> &amp;&amp; isSpawneeFun(fun1) == <span class="keyword">false</span> &amp;&amp; isFollowerFun(fun1) == <span class="keyword">false</span>)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (isSpawnerFun(fun2) == <span class="keyword">false</span> &amp;&amp; isSpawneeFun(fun2) == <span class="keyword">false</span> &amp;&amp; isFollowerFun(fun2) == <span class="keyword">false</span>)</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;}</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a0c4d2c2648638794a02d890293a2805d"> 77</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a0c4d2c2648638794a02d890293a2805d">PCG::mayHappenInParallel</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* i1, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* i2)<span class="keyword"> const</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keyword"></span>{</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1 = i1-&gt;<a class="code" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">getFunction</a>();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2 = i2-&gt;<a class="code" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">getFunction</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> mayHappenInParallelBetweenFunctions(fun1, fun2);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;}</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a23752f0a9fe4f01698808d0a50ccc896"> 90</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a23752f0a9fe4f01698808d0a50ccc896">PCG::initFromThreadAPI</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module)</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;{</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun : module-&gt;<a class="code" href="classSVF_1_1SVFModule.html#abbaf48d9702ec1f38dc6ae137ca630a1">getFunctionSet</a>())</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfbb : fun-&gt;getBasicBlockList())</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : svfbb-&gt;getInstructionList())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span> (tdAPI-&gt;isTDFork(inst))</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* forkVal = tdAPI-&gt;getForkedFun(inst);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svForkfun = SVFUtil::dyn_cast&lt;SVFFunction&gt;(forkVal))</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; addSpawnsite(inst);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; spawners.insert(fun);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; spawnees.insert(svForkfun);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;pthread create&quot;</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; inst-&gt;toString() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(<span class="stringliteral">&quot;invoke spawnee indirectly&quot;</span>);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;}</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#adff1702e1b0a902de7ded742846fe137"> 127</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#adff1702e1b0a902de7ded742846fe137">PCG::inferFromCallGraph</a>()</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;{</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; collectSpawners();</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; collectSpawnees();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; collectFollowers();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#aef06745128e4e99c8e3bab226a337041"> 140</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#aef06745128e4e99c8e3bab226a337041">PCG::collectSpawners</a>()</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;{</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FunWorkList</a> worklist;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">for</span> (FunSet::iterator it = spawners.begin(), eit = spawners.end(); it != eit; ++it)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(*it);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* funNode = callgraph-&gt;getCallGraphNode(svffun);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">PTACallGraphNode::const_iterator</a> it = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(), eit = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); it != eit;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; ++it)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* callEdge = (*it);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* caller = callEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getFunction();</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">if</span> (isSpawnerFun(caller) == <span class="keyword">false</span>)</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(caller);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; addSpawnerFun(caller);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">for</span> (PTACallGraphEdge::CallInstSet::const_iterator dit = callEdge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a750e50a9022451e406c4819979edffa5">directCallsBegin</a>(), deit =</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; callEdge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#acc4fcacefdc9be9a214dfcc455fe7970">directCallsEnd</a>(); dit != deit; ++dit)</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; addSpawnsite((*dit)-&gt;getCallSite());</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">for</span> (PTACallGraphEdge::CallInstSet::const_iterator dit = callEdge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#afbdb582d20ab953b2de1f3efacb74679">indirectCallsBegin</a>(), deit =</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; callEdge-&gt;<a class="code" href="classSVF_1_1PTACallGraphEdge.html#a494bc8bacca5ca8d266286f3fb303495">indirectCallsEnd</a>(); dit != deit; ++dit)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; addSpawnsite((*dit)-&gt;getCallSite());</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;}</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a8cff88e2a6cee5f655e491f9f2967460"> 181</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a8cff88e2a6cee5f655e491f9f2967460">PCG::collectSpawnees</a>()</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;{</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FunWorkList</a> worklist;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">for</span> (FunSet::iterator it = spawnees.begin(), eit = spawnees.end(); it != eit; ++it)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(*it);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* funNode = callgraph-&gt;getCallGraphNode(svffun);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">PTACallGraphNode::const_iterator</a> it = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; ++it)</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* caller = (*it)-&gt;getDstNode()-&gt;getFunction();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (isSpawneeFun(caller) == <span class="keyword">false</span>)</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(caller);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; addSpawneeFun(caller);</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;}</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b"> 211</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b">PCG::identifyFollowers</a>()</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;{</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">for</span> (CallInstSet::const_iterator sit = spawnSitesBegin(), esit = spawnSitesEnd(); sit != esit; ++sit)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst = *sit;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">BBWorkList</a> bb_worklist;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFBasicBlock*&gt;</a> visitedBBs;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; bb_worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(inst-&gt;<a class="code" href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">getParent</a>());</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">while</span> (!bb_worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = bb_worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVFBasicBlock::const_iterator</a> it = bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>(), eit = bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>(); it != eit; ++it)</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; {</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst = *it;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="comment">// mark the callee of this callsite as follower</span></div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="comment">// if this is an call/invoke instruction but not a spawn site</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span> ((<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst)) &amp;&amp; !isSpawnsite(inst))</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = getCallICFGNode(inst);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">if</span> (callgraph-&gt;hasCallGraphEdge(cbn))</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">for</span> (PTACallGraph::CallGraphEdgeSet::const_iterator cgIt = callgraph-&gt;getCallEdgeBegin(cbn),</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; ecgIt = callgraph-&gt;getCallEdgeEnd(cbn); cgIt != ecgIt; ++cgIt)</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = *cgIt;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; addFollowerFun(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getFunction());</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svf_scc_bb : bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">getSuccessors</a>())</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">if</span> (visitedBBs.count(svf_scc_bb) == 0)</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; visitedBBs.insert(svf_scc_bb);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; bb_worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(svf_scc_bb);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a075370a557f111219530e166df745c15"> 259</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a075370a557f111219530e166df745c15">PCG::collectFollowers</a>()</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;{</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; identifyFollowers();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <a class="code" href="classSVF_1_1FIFOWorkList.html">FunWorkList</a> worklist;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">for</span> (FunSet::iterator it = followers.begin(), eit = followers.end(); it != eit; ++it)</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(*it);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* funNode = callgraph-&gt;getCallGraphNode(svffun);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">PTACallGraphNode::const_iterator</a> it = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = funNode-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; ++it)</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* caller = (*it)-&gt;getDstNode()-&gt;getFunction();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span> (isFollowerFun(caller) == <span class="keyword">false</span>)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(caller);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; addFollowerFun(caller);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;}</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a057887f3d5fd3b9b414e573b3f9f4548"> 296</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a057887f3d5fd3b9b414e573b3f9f4548">PCG::interferenceAnalysis</a>()</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;{</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="comment">// DBOUT(DMTA, outs() &lt;&lt; pasMsg(&quot;Starting Race Detection\n&quot;));</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="classSVF_1_1PCG.html#a1baeae98fd911d67acf644b49e48af8c">PCG::FunVec</a> worklist;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> F = mod-&gt;begin(), E = mod-&gt;end(); F != E; ++F)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *F;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; worklist.push_back(fun);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1 = worklist.<a class="code" href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">back</a>();</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; worklist.pop_back();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordtype">bool</span> ismhpfun = <span class="keyword">false</span>;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">for</span> (PCG::FunVec::iterator it = worklist.begin(), eit = worklist.end(); it != eit; ++it)</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2 = *it;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span> (mayHappenInParallelBetweenFunctions(fun1, fun2))</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; ismhpfun = <span class="keyword">true</span>;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; mhpfuns.insert(fun2);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">if</span> (ismhpfun)</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; mhpfuns.insert(fun1);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</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;}</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ab8a16eb34da91f2b7cd5a456653b1da0"> 335</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#ab8a16eb34da91f2b7cd5a456653b1da0">PCG::printResults</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; printTDFuns();</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;}</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#af8af0a2a2159261bf05abe226c43006e"> 344</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#af8af0a2a2159261bf05abe226c43006e">PCG::printTDFuns</a>()</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;{</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> fi = mod-&gt;begin(), efi = mod-&gt;end(); fi != efi; ++fi)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = (*fi);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>())</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> isSpawner = isSpawnerFun(fun) ? <span class="stringliteral">&quot; SPAWNER &quot;</span> : <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> isSpawnee = isSpawneeFun(fun) ? <span class="stringliteral">&quot; CHILDREN &quot;</span> : <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> isFollower = isFollowerFun(fun) ? <span class="stringliteral">&quot; FOLLOWER &quot;</span> : <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>() &lt;&lt; <span class="stringliteral">&quot; [&quot;</span> &lt;&lt; isSpawner &lt;&lt; isSpawnee &lt;&lt; isFollower &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;}</div><div class="ttc" id="classSVF_1_1PCG_html_af3e4194411bb061802afddacab7587b7"><div class="ttname"><a href="classSVF_1_1PCG.html#af3e4194411bb061802afddacab7587b7">SVF::PCG::mayHappenInParallelBetweenFunctions</a></div><div class="ttdeci">bool mayHappenInParallelBetweenFunctions(const SVFFunction *fun1, const SVFFunction *fun2) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00063">PCG.cpp:63</a></div></div>
70
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00531">SVFValue.h:531</a></div></div>
71
- <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00579">SVFValue.h:579</a></div></div>
70
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00522">SVFValue.h:522</a></div></div>
71
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1PCG_html_a8cff88e2a6cee5f655e491f9f2967460"><div class="ttname"><a href="classSVF_1_1PCG.html#a8cff88e2a6cee5f655e491f9f2967460">SVF::PCG::collectSpawnees</a></div><div class="ttdeci">void collectSpawnees()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00181">PCG.cpp:181</a></div></div>
73
- <div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00215">SVFValue.h:215</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00210">SVFValue.h:210</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1PCG_html_adff1702e1b0a902de7ded742846fe137"><div class="ttname"><a href="classSVF_1_1PCG.html#adff1702e1b0a902de7ded742846fe137">SVF::PCG::inferFromCallGraph</a></div><div class="ttdeci">void inferFromCallGraph()</div><div class="ttdoc">Infer spawner spawnee and followers sets by traversing on callGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00127">PCG.cpp:127</a></div></div>
75
75
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00098">SVFUtil.cpp:98</a></div></div>
76
- <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#l00207">GenericGraph.h:207</a></div></div>
77
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00603">SVFValue.h:603</a></div></div>
76
+ <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#l00208">GenericGraph.h:208</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00594">SVFValue.h:594</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1PCG_html_ae5ee8cf8cfe42854407190f30f3b6c1b"><div class="ttname"><a href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b">SVF::PCG::identifyFollowers</a></div><div class="ttdeci">void identifyFollowers()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00211">PCG.cpp:211</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
80
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00333">SVFValue.h:333</a></div></div>
81
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00266">SVFValue.h:266</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00324">SVFValue.h:324</a></div></div>
81
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
82
82
  <div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1PCG_html_a075370a557f111219530e166df745c15"><div class="ttname"><a href="classSVF_1_1PCG.html#a075370a557f111219530e166df745c15">SVF::PCG::collectFollowers</a></div><div class="ttdeci">void collectFollowers()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00259">PCG.cpp:259</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
85
- <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#l00215">GenericGraph.h:215</a></div></div>
85
+ <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#l00216">GenericGraph.h:216</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a494bc8bacca5ca8d266286f3fb303495"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a494bc8bacca5ca8d266286f3fb303495">SVF::PTACallGraphEdge::indirectCallsEnd</a></div><div class="ttdeci">CallInstSet::const_iterator indirectCallsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00135">PTACallGraph.h:135</a></div></div>
87
87
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00066">SVFUtil.cpp:66</a></div></div>
88
88
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
@@ -91,20 +91,20 @@ $(function() {
91
91
  <div class="ttc" id="classSVF_1_1SVFModule_html_abbaf48d9702ec1f38dc6ae137ca630a1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#abbaf48d9702ec1f38dc6ae137ca630a1">SVF::SVFModule::getFunctionSet</a></div><div class="ttdeci">const FunctionSetType &amp; getFunctionSet() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00209">SVFModule.h:209</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1PCG_html_ab8a16eb34da91f2b7cd5a456653b1da0"><div class="ttname"><a href="classSVF_1_1PCG.html#ab8a16eb34da91f2b7cd5a456653b1da0">SVF::PCG::printResults</a></div><div class="ttdeci">void printResults()</div><div class="ttdoc">Print analysis results. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00335">PCG.cpp:335</a></div></div>
93
93
  <div class="ttc" id="SVFType_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFType_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00439">SVFType.h:439</a></div></div>
94
- <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#l00094">GenericGraph.h:94</a></div></div>
95
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a60797e9e8b9cbd6b32cc71fa5d00d80c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">SVF::SVFFunction::back</a></div><div class="ttdeci">const SVFBasicBlock * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00393">SVFValue.h:393</a></div></div>
94
+ <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#l00095">GenericGraph.h:95</a></div></div>
95
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a60797e9e8b9cbd6b32cc71fa5d00d80c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">SVF::SVFFunction::back</a></div><div class="ttdeci">const SVFBasicBlock * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00384">SVFValue.h:384</a></div></div>
96
96
  <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="SVFType_8h_source.html#l00094">SVFType.h:94</a></div></div>
97
97
  <div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
98
98
  <div class="ttc" id="classSVF_1_1PCG_html_a23752f0a9fe4f01698808d0a50ccc896"><div class="ttname"><a href="classSVF_1_1PCG.html#a23752f0a9fe4f01698808d0a50ccc896">SVF::PCG::initFromThreadAPI</a></div><div class="ttdeci">void initFromThreadAPI(SVFModule *module)</div><div class="ttdoc">Initialize spawner and spawnee sets with threadAPI. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00090">PCG.cpp:90</a></div></div>
99
99
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html">SVF::PTACallGraphEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00051">PTACallGraph.h:51</a></div></div>
100
100
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_acc4fcacefdc9be9a214dfcc455fe7970"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#acc4fcacefdc9be9a214dfcc455fe7970">SVF::PTACallGraphEdge::directCallsEnd</a></div><div class="ttdeci">CallInstSet::const_iterator directCallsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00126">PTACallGraph.h:126</a></div></div>
101
- <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#l00219">GenericGraph.h:219</a></div></div>
101
+ <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#l00220">GenericGraph.h:220</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html_adf17f5699c9f40ffc8837e813e3af3ec"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">SVF::PTACallGraphNode::const_iterator</a></div><div class="ttdeci">PTACallGraphEdge::CallGraphEdgeSet::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00180">PTACallGraph.h:180</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1PCG_html_a0c4d2c2648638794a02d890293a2805d"><div class="ttname"><a href="classSVF_1_1PCG.html#a0c4d2c2648638794a02d890293a2805d">SVF::PCG::mayHappenInParallel</a></div><div class="ttdeci">virtual bool mayHappenInParallel(const SVFInstruction *i1, const SVFInstruction *i2) const</div><div class="ttdoc">Interface to query whether two function may happen-in-parallel. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00077">PCG.cpp:77</a></div></div>
104
104
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00628">SVFValue.h:628</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00619">SVFValue.h:619</a></div></div>
106
106
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_afdc3358522417de9a0d3a181a329f722"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00172">SVFUtil.h:172</a></div></div>
107
- <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#l00090">GenericGraph.h:90</a></div></div>
107
+ <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#l00091">GenericGraph.h:91</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1PCG_html_aef06745128e4e99c8e3bab226a337041"><div class="ttname"><a href="classSVF_1_1PCG.html#aef06745128e4e99c8e3bab226a337041">SVF::PCG::collectSpawners</a></div><div class="ttdeci">void collectSpawners()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00140">PCG.cpp:140</a></div></div>
109
109
  <div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
110
110
  <div class="ttc" id="classSVF_1_1PCG_html_af8af0a2a2159261bf05abe226c43006e"><div class="ttname"><a href="classSVF_1_1PCG.html#af8af0a2a2159261bf05abe226c43006e">SVF::PCG::printTDFuns</a></div><div class="ttdeci">void printTDFuns()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00344">PCG.cpp:344</a></div></div>
@@ -113,12 +113,12 @@ $(function() {
113
113
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
114
114
  <div class="ttc" id="PCG_8h_html"><div class="ttname"><a href="PCG_8h.html">PCG.h</a></div></div>
115
115
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
116
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00526">SVFValue.h:526</a></div></div>
116
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
117
117
  <div class="ttc" id="classSVF_1_1PCG_html_a057887f3d5fd3b9b414e573b3f9f4548"><div class="ttname"><a href="classSVF_1_1PCG.html#a057887f3d5fd3b9b414e573b3f9f4548">SVF::PCG::interferenceAnalysis</a></div><div class="ttdeci">void interferenceAnalysis()</div><div class="ttdoc">Thread interferenceAnalysis. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00296">PCG.cpp:296</a></div></div>
118
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00480">SVFValue.h:480</a></div></div>
118
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
119
119
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
120
- <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#l00211">GenericGraph.h:211</a></div></div>
121
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00485">SVFValue.h:485</a></div></div>
120
+ <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#l00212">GenericGraph.h:212</a></div></div>
121
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00476">SVFValue.h:476</a></div></div>
122
122
  <div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_afbdb582d20ab953b2de1f3efacb74679"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#afbdb582d20ab953b2de1f3efacb74679">SVF::PTACallGraphEdge::indirectCallsBegin</a></div><div class="ttdeci">CallInstSet::const_iterator indirectCallsBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00131">PTACallGraph.h:131</a></div></div>
123
123
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
124
124
  <div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00419">SVFType.h:419</a></div></div>
@@ -126,7 +126,7 @@ $(function() {
126
126
  <div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
127
127
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00295">SVFUtil.h:295</a></div></div>
128
128
  <div class="ttc" id="classSVF_1_1PCG_html_a1baeae98fd911d67acf644b49e48af8c"><div class="ttname"><a href="classSVF_1_1PCG.html#a1baeae98fd911d67acf644b49e48af8c">SVF::PCG::FunVec</a></div><div class="ttdeci">std::vector&lt; const SVFFunction * &gt; FunVec</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00055">PCG.h:55</a></div></div>
129
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00560">SVFValue.h:560</a></div></div>
129
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00551">SVFValue.h:551</a></div></div>
130
130
  </div><!-- fragment --></div><!-- contents -->
131
131
  <!-- start footer part -->
132
132
  <hr class="footer"/><address class="footer"><small>
@@ -69,7 +69,7 @@ $(function() {
69
69
  <a href="PCG_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- PCG.h -- Procedure creation graph-------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * MHP.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Jan 21, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui, Peng Di</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef PCG_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define PCG_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="ThreadAPI_8h.html">Util/ThreadAPI.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PTACallGraph_8h.html">Graphs/PTACallGraph.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Andersen_8h.html">WPA/Andersen.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;set&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="MHP_8h.html">MHP.h</a>&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1PCG.html">PCG</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#aae8a28dfe4a586dbdeebb9889dae6499"> 54</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFFunction*&gt;</a> <a class="code" href="classSVF_1_1PCG.html#aae8a28dfe4a586dbdeebb9889dae6499">FunSet</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a1baeae98fd911d67acf644b49e48af8c"> 55</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFFunction*&gt; <a class="code" href="classSVF_1_1PCG.html#a1baeae98fd911d67acf644b49e48af8c">FunVec</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ad33f2f6a08fe6ccad9b6f92c8d211565"> 56</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFInstruction*&gt;</a> <a class="code" href="classSVF_1_1PCG.html#ad33f2f6a08fe6ccad9b6f92c8d211565">CallInstSet</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#aa5b05322809d72ee8d1fc5fb3b85696d"> 57</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const SVFFunction*&gt;</a> <a class="code" href="classSVF_1_1PCG.html#aa5b05322809d72ee8d1fc5fb3b85696d">FunWorkList</a>;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a4eff22e077741d2decbad6f416ca7c6f"> 58</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList&lt;const SVFBasicBlock*&gt;</a> <a class="code" href="classSVF_1_1PCG.html#a4eff22e077741d2decbad6f416ca7c6f">BBWorkList</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223"> 61</a></span>&#160; FunSet <a class="code" href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223">spawners</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa"> 62</a></span>&#160; FunSet <a class="code" href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa">spawnees</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ab3a3d18bac6e1f833583d41fa562caea"> 63</a></span>&#160; FunSet <a class="code" href="classSVF_1_1PCG.html#ab3a3d18bac6e1f833583d41fa562caea">followers</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0"> 64</a></span>&#160; FunSet <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92"> 65</a></span>&#160; <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574"> 66</a></span>&#160; <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#adb917fc3adc3b0c3aedd57e9c77eae05"> 67</a></span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* <a class="code" href="classSVF_1_1PCG.html#adb917fc3adc3b0c3aedd57e9c77eae05">pta</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a8215dc3643d1c4fb3d489e80cd3db336"> 68</a></span>&#160; <a class="code" href="classSVF_1_1ThreadAPI.html">ThreadAPI</a>* <a class="code" href="classSVF_1_1PCG.html#a8215dc3643d1c4fb3d489e80cd3db336">tdAPI</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a859545671beab2a85c721ce98b785452"> 71</a></span>&#160; CallInstSet <a class="code" href="classSVF_1_1PCG.html#a859545671beab2a85c721ce98b785452">spawnCallSites</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a49d2755072df3c5012bc602ac1501bdc"> 75</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a49d2755072df3c5012bc602ac1501bdc">isSpawnerFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> spawners.find(fun) != spawners.end();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#aa894020740c6d6ad8a179133f628a573"> 79</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#aa894020740c6d6ad8a179133f628a573">isSpawneeFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> spawnees.find(fun) != spawnees.end();</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a767a7ea009067e7f82bb70b29688a144"> 83</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a767a7ea009067e7f82bb70b29688a144">isFollowerFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> followers.find(fun) != followers.end();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a5e7e223921c8b4ef098a0f9cd726a7cc"> 87</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a5e7e223921c8b4ef098a0f9cd726a7cc">addSpawnerFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>())</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">return</span> spawners.insert(fun).second;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a0cda7cd505039d4623dccac3df8494fd"> 93</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a0cda7cd505039d4623dccac3df8494fd">addSpawneeFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>())</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> spawnees.insert(fun).second;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a4901c6b064d92694f78ca0484c454fc8"> 99</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a4901c6b064d92694f78ca0484c454fc8">addFollowerFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>())</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">return</span> followers.insert(fun).second;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a5f0dfc193e13baa5bc0c159ed76ced7e"> 109</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a5f0dfc193e13baa5bc0c159ed76ced7e">addSpawnsite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* callInst)</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">return</span> spawnCallSites.insert(callInst).second;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a7a9d65698363d5f18c2556ead635cdf8"> 113</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a7a9d65698363d5f18c2556ead635cdf8">isSpawnsite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* callInst)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">return</span> spawnCallSites.find(callInst) != spawnCallSites.end();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8"> 120</a></span>&#160; <span class="keyword">inline</span> CallInstSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8">spawnSitesBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> spawnCallSites.begin();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817"> 124</a></span>&#160; <span class="keyword">inline</span> CallInstSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817">spawnSitesEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> spawnCallSites.end();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a482925e80c66f258e0fb863ee6948081"> 133</a></span>&#160; <a class="code" href="classSVF_1_1PCG.html#a482925e80c66f258e0fb863ee6948081">PCG</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* an) : pta(an)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; mod = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; tdAPI=<a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>();</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; callgraph = pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53">analyze</a>();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a3986717a8a3e1515747c3ab2c3e93ca7"> 144</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1PCG.html#a3986717a8a3e1515747c3ab2c3e93ca7">~PCG</a>()</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a916151cbbebd665c0a2ab754e8e58988"> 148</a></span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1PCG.html#a916151cbbebd665c0a2ab754e8e58988">getCallICFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">return</span> pta-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#a0c4d2c2648638794a02d890293a2805d">mayHappenInParallel</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* i1, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* i2) <span class="keyword">const</span>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PCG.html#af3e4194411bb061802afddacab7587b7">mayHappenInParallelBetweenFunctions</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2) <span class="keyword">const</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a3106e03b7df8b34f50c769e1417f341c"> 155</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> FunSet&amp; <a class="code" href="classSVF_1_1PCG.html#a3106e03b7df8b34f50c769e1417f341c">getMHPFunctions</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a23752f0a9fe4f01698808d0a50ccc896">initFromThreadAPI</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* module);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#adff1702e1b0a902de7ded742846fe137">inferFromCallGraph</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#aef06745128e4e99c8e3bab226a337041">collectSpawners</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a8cff88e2a6cee5f655e491f9f2967460">collectSpawnees</a>();</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a075370a557f111219530e166df745c15">collectFollowers</a>();</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b">identifyFollowers</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a6efd56a0a1810cf9036dd9203ea5e71e"> 174</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> FunSet&amp; <a class="code" href="classSVF_1_1PCG.html#a6efd56a0a1810cf9036dd9203ea5e71e">getSpawners</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223">spawners</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a4aee985ede8e6ed6dd92574494101df9"> 178</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> FunSet&amp; <a class="code" href="classSVF_1_1PCG.html#a4aee985ede8e6ed6dd92574494101df9">getSpawnees</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa">spawnees</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a1312d734609f82230d3c00a99b189db9"> 182</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> FunSet&amp; <a class="code" href="classSVF_1_1PCG.html#a1312d734609f82230d3c00a99b189db9">getFollowers</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PCG.html#ab3a3d18bac6e1f833583d41fa562caea">followers</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a4343107dd6908ffb70fc59fa7b4de21b"> 190</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a4343107dd6908ffb70fc59fa7b4de21b">spawnersBegin</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> spawners.begin();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a2b9a6b5890b11cea31914f5242285525"> 194</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a2b9a6b5890b11cea31914f5242285525">spawnersEnd</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> spawners.end();</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a45932c2f1a05398b4ad8753dcb621a1f"> 198</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a45932c2f1a05398b4ad8753dcb621a1f">spawneesBegin</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">return</span> spawnees.begin();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ab45de7686709989be5923531653e2755"> 202</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#ab45de7686709989be5923531653e2755">spawneesEnd</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> spawnees.end();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#a78e0fcf6657bddc055f02e126fbf5626"> 206</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#a78e0fcf6657bddc055f02e126fbf5626">followersBegin</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> followers.begin();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1PCG.html#ad4fe2747c89e6406c33eea95826de0d7"> 210</a></span>&#160; <span class="keyword">inline</span> FunSet::const_iterator <a class="code" href="classSVF_1_1PCG.html#ad4fe2747c89e6406c33eea95826de0d7">followersEnd</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> followers.end();</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#a057887f3d5fd3b9b414e573b3f9f4548">interferenceAnalysis</a>();</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#ab8a16eb34da91f2b7cd5a456653b1da0">printResults</a>();</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PCG.html#af8af0a2a2159261bf05abe226c43006e">printTDFuns</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;};</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* PCG_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1PCG_html_a78e0fcf6657bddc055f02e126fbf5626"><div class="ttname"><a href="classSVF_1_1PCG.html#a78e0fcf6657bddc055f02e126fbf5626">SVF::PCG::followersBegin</a></div><div class="ttdeci">FunSet::const_iterator followersBegin(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00206">PCG.h:206</a></div></div>
70
70
  <div class="ttc" id="classSVF_1_1PCG_html_af3e4194411bb061802afddacab7587b7"><div class="ttname"><a href="classSVF_1_1PCG.html#af3e4194411bb061802afddacab7587b7">SVF::PCG::mayHappenInParallelBetweenFunctions</a></div><div class="ttdeci">bool mayHappenInParallelBetweenFunctions(const SVFFunction *fun1, const SVFFunction *fun2) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00063">PCG.cpp:63</a></div></div>
71
71
  <div class="ttc" id="Andersen_8h_html"><div class="ttname"><a href="Andersen_8h.html">Andersen.h</a></div></div>
72
- <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00579">SVFValue.h:579</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1PCG_html_a49d2755072df3c5012bc602ac1501bdc"><div class="ttname"><a href="classSVF_1_1PCG.html#a49d2755072df3c5012bc602ac1501bdc">SVF::PCG::isSpawnerFun</a></div><div class="ttdeci">bool isSpawnerFun(const SVFFunction *fun) const</div><div class="ttdoc">Add/Get methods for thread properties of a procedure. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00075">PCG.h:75</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1PCG_html_a1312d734609f82230d3c00a99b189db9"><div class="ttname"><a href="classSVF_1_1PCG.html#a1312d734609f82230d3c00a99b189db9">SVF::PCG::getFollowers</a></div><div class="ttdeci">const FunSet &amp; getFollowers() const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00182">PCG.h:182</a></div></div>
75
75
  <div class="ttc" id="MHP_8h_html"><div class="ttname"><a href="MHP_8h.html">MHP.h</a></div></div>
@@ -80,8 +80,8 @@ $(function() {
80
80
  <div class="ttc" id="classSVF_1_1PCG_html_a4901c6b064d92694f78ca0484c454fc8"><div class="ttname"><a href="classSVF_1_1PCG.html#a4901c6b064d92694f78ca0484c454fc8">SVF::PCG::addFollowerFun</a></div><div class="ttdeci">bool addFollowerFun(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00099">PCG.h:99</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1PCG_html"><div class="ttname"><a href="classSVF_1_1PCG.html">SVF::PCG</a></div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00050">PCG.h:50</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1PCG_html_ae5ee8cf8cfe42854407190f30f3b6c1b"><div class="ttname"><a href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b">SVF::PCG::identifyFollowers</a></div><div class="ttdeci">void identifyFollowers()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00211">PCG.cpp:211</a></div></div>
83
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00333">SVFValue.h:333</a></div></div>
84
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00266">SVFValue.h:266</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00324">SVFValue.h:324</a></div></div>
84
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1PCG_html_a5f0dfc193e13baa5bc0c159ed76ced7e"><div class="ttname"><a href="classSVF_1_1PCG.html#a5f0dfc193e13baa5bc0c159ed76ced7e">SVF::PCG::addSpawnsite</a></div><div class="ttdeci">bool addSpawnsite(const SVFInstruction *callInst)</div><div class="ttdoc">Add/search spawn sites which directly or indirectly create a thread. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00109">PCG.h:109</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1PCG_html_a2a7319200ec2ec07e8b7976b4a876da8"><div class="ttname"><a href="classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8">SVF::PCG::spawnSitesBegin</a></div><div class="ttdeci">CallInstSet::const_iterator spawnSitesBegin() const</div><div class="ttdoc">Spawn sites iterators. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00120">PCG.h:120</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1PCG_html_a985b0c790c582d15e6242950ac66f574"><div class="ttname"><a href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">SVF::PCG::mod</a></div><div class="ttdeci">SVFModule * mod</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00066">PCG.h:66</a></div></div>