svf-tools 1.0.342 → 1.0.346

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 (420) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
  3. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
  4. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  6. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
  7. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  9. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
  10. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
  12. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  14. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
  15. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
  16. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
  18. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
  19. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
  20. package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
  21. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
  22. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +45 -44
  24. package/SVF-doxygen/html/html/ICFG_8h_source.html +34 -34
  25. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
  26. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
  27. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
  29. package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
  30. package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
  31. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  32. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  34. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +26 -26
  35. package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
  36. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
  38. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
  39. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
  40. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  42. package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
  43. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
  44. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
  45. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
  48. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  49. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
  50. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  51. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
  52. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
  53. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  55. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -31
  56. package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
  57. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
  59. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +9 -9
  60. package/SVF-doxygen/html/html/SVFIR_8h_source.html +31 -31
  61. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
  62. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
  63. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  64. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
  65. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
  67. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  68. package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
  70. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
  71. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  72. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  75. package/SVF-doxygen/html/html/VFG_8cpp_source.html +19 -19
  76. package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
  77. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -6
  78. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  79. package/SVF-doxygen/html/html/annotated.html +17 -17
  80. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
  81. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
  82. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
  84. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
  85. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
  86. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
  87. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
  88. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
  90. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
  91. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +51 -51
  92. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
  93. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +32 -32
  94. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
  95. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
  96. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
  97. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
  98. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
  99. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
  100. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
  102. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
  103. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
  104. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
  105. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
  106. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
  107. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
  108. package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
  109. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
  110. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  111. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
  112. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
  113. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
  114. package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
  115. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
  116. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +27 -27
  118. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
  119. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
  120. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
  122. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
  123. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
  125. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
  126. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
  127. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
  128. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  129. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
  130. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
  131. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
  132. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
  133. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
  134. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
  135. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
  136. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +45 -45
  137. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
  138. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
  139. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
  141. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
  142. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
  143. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
  144. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
  145. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
  146. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
  147. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
  148. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
  149. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
  151. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
  153. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  155. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
  156. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
  157. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
  159. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
  160. package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
  161. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +191 -184
  162. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
  163. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +69 -66
  164. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
  165. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
  166. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
  167. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
  168. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
  170. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
  171. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
  173. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
  174. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
  175. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
  176. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
  177. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +20 -20
  178. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
  179. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
  180. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
  181. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
  182. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
  183. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
  184. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
  185. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
  186. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -10
  188. package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
  190. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
  191. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +196 -196
  192. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  193. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
  195. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
  196. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
  197. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
  198. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
  199. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
  200. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  202. package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
  204. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
  205. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
  206. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
  207. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
  208. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
  209. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +107 -107
  210. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
  212. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
  213. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
  214. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
  215. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
  216. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +26 -26
  217. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
  218. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +159 -159
  219. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  220. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
  221. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
  222. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
  223. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +132 -132
  224. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  225. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +58 -58
  226. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
  227. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
  228. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  230. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  232. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
  233. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
  234. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +7 -7
  236. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
  237. package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
  239. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
  240. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -15
  241. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
  242. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -15
  243. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
  244. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
  245. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
  246. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
  247. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
  248. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
  249. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
  250. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
  251. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +41 -41
  252. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  253. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  254. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
  255. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
  256. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
  257. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
  258. package/SVF-doxygen/html/html/classes.html +16 -16
  259. package/SVF-doxygen/html/html/functions_a.html +59 -59
  260. package/SVF-doxygen/html/html/functions_c.html +65 -67
  261. package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
  262. package/SVF-doxygen/html/html/functions_f.html +14 -14
  263. package/SVF-doxygen/html/html/functions_func.html +56 -56
  264. package/SVF-doxygen/html/html/functions_func_c.html +28 -28
  265. package/SVF-doxygen/html/html/functions_func_f.html +6 -6
  266. package/SVF-doxygen/html/html/functions_func_g.html +86 -86
  267. package/SVF-doxygen/html/html/functions_func_h.html +17 -17
  268. package/SVF-doxygen/html/html/functions_func_i.html +12 -12
  269. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  270. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  271. package/SVF-doxygen/html/html/functions_func_r.html +6 -6
  272. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  273. package/SVF-doxygen/html/html/functions_func_t.html +7 -7
  274. package/SVF-doxygen/html/html/functions_func_u.html +3 -3
  275. package/SVF-doxygen/html/html/functions_g.html +88 -88
  276. package/SVF-doxygen/html/html/functions_h.html +16 -16
  277. package/SVF-doxygen/html/html/functions_i.html +22 -22
  278. package/SVF-doxygen/html/html/functions_l.html +3 -3
  279. package/SVF-doxygen/html/html/functions_m.html +2 -2
  280. package/SVF-doxygen/html/html/functions_o.html +13 -13
  281. package/SVF-doxygen/html/html/functions_p.html +14 -14
  282. package/SVF-doxygen/html/html/functions_r.html +13 -12
  283. package/SVF-doxygen/html/html/functions_s.html +13 -13
  284. package/SVF-doxygen/html/html/functions_t.html +12 -14
  285. package/SVF-doxygen/html/html/functions_type.html +1 -1
  286. package/SVF-doxygen/html/html/functions_type_c.html +24 -24
  287. package/SVF-doxygen/html/html/functions_type_f.html +3 -3
  288. package/SVF-doxygen/html/html/functions_type_i.html +2 -2
  289. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  290. package/SVF-doxygen/html/html/functions_type_s.html +1 -1
  291. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  292. package/SVF-doxygen/html/html/functions_u.html +3 -3
  293. package/SVF-doxygen/html/html/functions_v.html +8 -8
  294. package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
  295. package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
  296. package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
  297. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  298. package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
  299. package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
  300. package/SVF-doxygen/html/html/functions_w.html +9 -5
  301. package/SVF-doxygen/html/html/hierarchy.html +7 -7
  302. package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
  303. package/SVF-doxygen/html/html/search/all_1.js +58 -58
  304. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  305. package/SVF-doxygen/html/html/search/all_12.js +8 -7
  306. package/SVF-doxygen/html/html/search/all_13.js +11 -11
  307. package/SVF-doxygen/html/html/search/all_14.js +8 -8
  308. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  309. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  310. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  311. package/SVF-doxygen/html/html/search/all_3.js +35 -34
  312. package/SVF-doxygen/html/html/search/all_6.js +12 -12
  313. package/SVF-doxygen/html/html/search/all_7.js +62 -61
  314. package/SVF-doxygen/html/html/search/all_8.js +17 -17
  315. package/SVF-doxygen/html/html/search/all_9.js +16 -16
  316. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  317. package/SVF-doxygen/html/html/search/all_d.js +5 -5
  318. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  319. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  320. package/SVF-doxygen/html/html/search/classes_2.js +1 -1
  321. package/SVF-doxygen/html/html/search/classes_5.js +2 -2
  322. package/SVF-doxygen/html/html/search/classes_6.js +1 -1
  323. package/SVF-doxygen/html/html/search/classes_8.js +2 -2
  324. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  325. package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
  326. package/SVF-doxygen/html/html/search/functions_0.js +55 -55
  327. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  328. package/SVF-doxygen/html/html/search/functions_11.js +4 -4
  329. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  330. package/SVF-doxygen/html/html/search/functions_2.js +10 -10
  331. package/SVF-doxygen/html/html/search/functions_5.js +4 -4
  332. package/SVF-doxygen/html/html/search/functions_6.js +61 -61
  333. package/SVF-doxygen/html/html/search/functions_7.js +17 -17
  334. package/SVF-doxygen/html/html/search/functions_8.js +12 -12
  335. package/SVF-doxygen/html/html/search/functions_b.js +1 -1
  336. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  337. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  338. package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
  339. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  340. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
  341. package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
  342. package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
  343. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
  344. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  345. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  346. package/SVF-doxygen/html/html/search/variables_12.js +1 -1
  347. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  348. package/SVF-doxygen/html/html/search/variables_3.js +4 -4
  349. package/SVF-doxygen/html/html/search/variables_6.js +5 -5
  350. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  351. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  352. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  353. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  354. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +22 -22
  355. package/include/DDA/ContextDDA.h +3 -3
  356. package/include/DDA/DDAClient.h +2 -2
  357. package/include/DDA/DDAVFSolver.h +2 -2
  358. package/include/DDA/FlowDDA.h +2 -2
  359. package/include/Graphs/ICFG.h +33 -33
  360. package/include/Graphs/ICFGNode.h +33 -33
  361. package/include/Graphs/ICFGStat.h +11 -11
  362. package/include/Graphs/PTACallGraph.h +19 -19
  363. package/include/Graphs/SVFG.h +16 -16
  364. package/include/Graphs/SVFGNode.h +14 -14
  365. package/include/Graphs/SVFGOPT.h +1 -1
  366. package/include/Graphs/ThreadCallGraph.h +25 -25
  367. package/include/Graphs/VFG.h +10 -10
  368. package/include/Graphs/VFGNode.h +8 -8
  369. package/include/MSSA/MSSAMuChi.h +6 -6
  370. package/include/MSSA/MemRegion.h +24 -24
  371. package/include/MSSA/MemSSA.h +10 -10
  372. package/include/MTA/LockResultValidator.h +2 -2
  373. package/include/MTA/MHP.h +4 -4
  374. package/include/MTA/PCG.h +1 -1
  375. package/include/MTA/TCT.h +2 -2
  376. package/include/MemoryModel/PointerAnalysis.h +12 -12
  377. package/include/MemoryModel/SVFIR.h +21 -21
  378. package/include/MemoryModel/SVFStatements.h +11 -11
  379. package/include/SABER/LeakChecker.h +4 -4
  380. package/include/SABER/ProgSlice.h +2 -2
  381. package/include/SABER/SaberCheckerAPI.h +4 -4
  382. package/include/SABER/SaberSVFGBuilder.h +1 -1
  383. package/include/SABER/SrcSnkDDA.h +1 -1
  384. package/include/SVF-FE/ICFGBuilder.h +4 -4
  385. package/include/SVF-FE/SVFIRBuilder.h +5 -5
  386. package/include/Util/NodeIDAllocator.h +3 -0
  387. package/lib/DDA/ContextDDA.cpp +3 -3
  388. package/lib/DDA/DDAClient.cpp +1 -1
  389. package/lib/DDA/FlowDDA.cpp +1 -1
  390. package/lib/Graphs/ICFG.cpp +55 -50
  391. package/lib/Graphs/PTACallGraph.cpp +5 -5
  392. package/lib/Graphs/SVFG.cpp +7 -7
  393. package/lib/Graphs/ThreadCallGraph.cpp +6 -6
  394. package/lib/Graphs/VFG.cpp +6 -6
  395. package/lib/MSSA/MemRegion.cpp +17 -17
  396. package/lib/MSSA/MemSSA.cpp +3 -3
  397. package/lib/MTA/LockAnalysis.cpp +4 -4
  398. package/lib/MTA/MHP.cpp +5 -5
  399. package/lib/MTA/MTAResultValidator.cpp +1 -1
  400. package/lib/MTA/PCG.cpp +1 -1
  401. package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
  402. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  403. package/lib/MemoryModel/SVFIR.cpp +5 -5
  404. package/lib/SABER/DoubleFreeChecker.cpp +1 -1
  405. package/lib/SABER/FileChecker.cpp +2 -2
  406. package/lib/SABER/LeakChecker.cpp +8 -8
  407. package/lib/SABER/ProgSlice.cpp +2 -2
  408. package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
  409. package/lib/SVF-FE/Graph2Json.cpp +5 -5
  410. package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
  411. package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
  412. package/lib/Util/NodeIDAllocator.cpp +12 -0
  413. package/lib/Util/Options.cpp +2 -1
  414. package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
  415. package/lib/WPA/Andersen.cpp +3 -3
  416. package/lib/WPA/FlowSensitive.cpp +2 -2
  417. package/lib/WPA/TypeAnalysis.cpp +1 -1
  418. package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
  419. package/lib/WPA/WPAPass.cpp +4 -4
  420. package/package.json +1 -1
@@ -159,17 +159,17 @@ class ThreadCallGraph: public PTACallGraph
159
159
  {
160
160
 
161
161
  public:
162
- typedef Set<const CallBlockNode*> InstSet;
162
+ typedef Set<const CallICFGNode*> InstSet;
163
163
  typedef InstSet CallSiteSet;
164
164
  typedef std::vector<const Instruction*> InstVector;
165
165
  typedef Map<const Instruction*, InstSet> CallToInstMap;
166
166
  typedef Set<CallSiteSet*> CtxSet;
167
167
  typedef ThreadForkEdge::ForkEdgeSet ForkEdgeSet;
168
- typedef Map<const CallBlockNode*, ForkEdgeSet> CallInstToForkEdgesMap;
168
+ typedef Map<const CallICFGNode*, ForkEdgeSet> CallInstToForkEdgesMap;
169
169
  typedef ThreadJoinEdge::JoinEdgeSet JoinEdgeSet;
170
- typedef Map<const CallBlockNode*, JoinEdgeSet> CallInstToJoinEdgesMap;
170
+ typedef Map<const CallICFGNode*, JoinEdgeSet> CallInstToJoinEdgesMap;
171
171
  typedef HareParForEdge::ParForEdgeSet ParForEdgeSet;
172
- typedef Map<const CallBlockNode*, ParForEdgeSet> CallInstToParForEdgesMap;
172
+ typedef Map<const CallICFGNode*, ParForEdgeSet> CallInstToParForEdgesMap;
173
173
 
174
174
  /// Constructor
175
175
  ThreadCallGraph();
@@ -199,17 +199,17 @@ public:
199
199
  /// Get call graph edge via call instruction
200
200
  //@{
201
201
  /// whether this call instruction has a valid call graph edge
202
- inline bool hasThreadForkEdge(const CallBlockNode* cs) const
202
+ inline bool hasThreadForkEdge(const CallICFGNode* cs) const
203
203
  {
204
204
  return callinstToThreadForkEdgesMap.find(cs) != callinstToThreadForkEdgesMap.end();
205
205
  }
206
- inline ForkEdgeSet::const_iterator getForkEdgeBegin(const CallBlockNode* cs) const
206
+ inline ForkEdgeSet::const_iterator getForkEdgeBegin(const CallICFGNode* cs) const
207
207
  {
208
208
  CallInstToForkEdgesMap::const_iterator it = callinstToThreadForkEdgesMap.find(cs);
209
209
  assert(it != callinstToThreadForkEdgesMap.end() && "call instruction not found");
210
210
  return it->second.begin();
211
211
  }
212
- inline ForkEdgeSet::const_iterator getForkEdgeEnd(const CallBlockNode* cs) const
212
+ inline ForkEdgeSet::const_iterator getForkEdgeEnd(const CallICFGNode* cs) const
213
213
  {
214
214
  CallInstToForkEdgesMap::const_iterator it = callinstToThreadForkEdgesMap.find(cs);
215
215
  assert(it != callinstToThreadForkEdgesMap.end() && "call instruction not found");
@@ -219,17 +219,17 @@ public:
219
219
  /// Get call graph edge via call instruction
220
220
  //@{
221
221
  /// whether this call instruction has a valid call graph edge
222
- inline bool hasThreadJoinEdge(const CallBlockNode* cs) const
222
+ inline bool hasThreadJoinEdge(const CallICFGNode* cs) const
223
223
  {
224
224
  return callinstToThreadJoinEdgesMap.find(cs) != callinstToThreadJoinEdgesMap.end();
225
225
  }
226
- inline JoinEdgeSet::const_iterator getJoinEdgeBegin(const CallBlockNode* cs) const
226
+ inline JoinEdgeSet::const_iterator getJoinEdgeBegin(const CallICFGNode* cs) const
227
227
  {
228
228
  CallInstToJoinEdgesMap::const_iterator it = callinstToThreadJoinEdgesMap.find(cs);
229
229
  assert(it != callinstToThreadJoinEdgesMap.end() && "call instruction does not have a valid callee");
230
230
  return it->second.begin();
231
231
  }
232
- inline JoinEdgeSet::const_iterator getJoinEdgeEnd(const CallBlockNode* cs) const
232
+ inline JoinEdgeSet::const_iterator getJoinEdgeEnd(const CallICFGNode* cs) const
233
233
  {
234
234
  CallInstToJoinEdgesMap::const_iterator it = callinstToThreadJoinEdgesMap.find(cs);
235
235
  assert(it != callinstToThreadJoinEdgesMap.end() && "call instruction does not have a valid callee");
@@ -252,15 +252,15 @@ public:
252
252
 
253
253
  /// Whether a callsite is a fork or join or hare_parallel_for
254
254
  ///@{
255
- inline bool isForksite(const CallBlockNode* csInst)
255
+ inline bool isForksite(const CallICFGNode* csInst)
256
256
  {
257
257
  return forksites.find(csInst) != forksites.end();
258
258
  }
259
- inline bool isJoinsite(const CallBlockNode* csInst)
259
+ inline bool isJoinsite(const CallICFGNode* csInst)
260
260
  {
261
261
  return joinsites.find(csInst) != joinsites.end();
262
262
  }
263
- inline bool isParForSite(const CallBlockNode* csInst)
263
+ inline bool isParForSite(const CallICFGNode* csInst)
264
264
  {
265
265
  return parForSites.find(csInst) != parForSites.end();
266
266
  }
@@ -326,17 +326,17 @@ public:
326
326
 
327
327
  /// Add fork sites which directly or indirectly create a thread
328
328
  //@{
329
- inline bool addForksite(const CallBlockNode* cs)
329
+ inline bool addForksite(const CallICFGNode* cs)
330
330
  {
331
331
  callinstToThreadForkEdgesMap[cs];
332
332
  return forksites.insert(cs).second;
333
333
  }
334
- inline bool addJoinsite(const CallBlockNode* cs)
334
+ inline bool addJoinsite(const CallICFGNode* cs)
335
335
  {
336
336
  callinstToThreadJoinEdgesMap[cs];
337
337
  return joinsites.insert(cs).second;
338
338
  }
339
- inline bool addParForSite(const CallBlockNode* cs)
339
+ inline bool addParForSite(const CallICFGNode* cs)
340
340
  {
341
341
  callinstToHareParForEdgesMap[cs];
342
342
  return parForSites.insert(cs).second;
@@ -345,24 +345,24 @@ public:
345
345
 
346
346
  /// Add direct/indirect thread fork edges
347
347
  //@{
348
- void addDirectForkEdge(const CallBlockNode* cs);
349
- void addIndirectForkEdge(const CallBlockNode* cs, const SVFFunction* callee);
348
+ void addDirectForkEdge(const CallICFGNode* cs);
349
+ void addIndirectForkEdge(const CallICFGNode* cs, const SVFFunction* callee);
350
350
  //@}
351
351
 
352
352
  /// Add thread join edges
353
353
  //@{
354
- void addDirectJoinEdge(const CallBlockNode* cs,const CallSiteSet& forksite);
354
+ void addDirectJoinEdge(const CallICFGNode* cs,const CallSiteSet& forksite);
355
355
  //@}
356
356
 
357
357
  /// Add direct/indirect parallel for edges
358
358
  //@{
359
- void addDirectParForEdge(const CallBlockNode* cs);
360
- void addIndirectParForEdge(const CallBlockNode* cs, const SVFFunction* callee);
359
+ void addDirectParForEdge(const CallICFGNode* cs);
360
+ void addIndirectParForEdge(const CallICFGNode* cs, const SVFFunction* callee);
361
361
  //@}
362
362
 
363
363
 
364
364
  /// map call instruction to its CallGraphEdge map
365
- inline void addThreadForkEdgeSetMap(const CallBlockNode* cs, ThreadForkEdge* edge)
365
+ inline void addThreadForkEdgeSetMap(const CallICFGNode* cs, ThreadForkEdge* edge)
366
366
  {
367
367
  if(edge!=nullptr)
368
368
  {
@@ -372,7 +372,7 @@ public:
372
372
  }
373
373
 
374
374
  /// map call instruction to its CallGraphEdge map
375
- inline void addThreadJoinEdgeSetMap(const CallBlockNode* cs, ThreadJoinEdge* edge)
375
+ inline void addThreadJoinEdgeSetMap(const CallICFGNode* cs, ThreadJoinEdge* edge)
376
376
  {
377
377
  if(edge!=nullptr)
378
378
  {
@@ -382,7 +382,7 @@ public:
382
382
  }
383
383
 
384
384
  /// map call instruction to its CallGraphEdge map
385
- inline void addHareParForEdgeSetMap(const CallBlockNode* cs, HareParForEdge* edge)
385
+ inline void addHareParForEdgeSetMap(const CallICFGNode* cs, HareParForEdge* edge)
386
386
  {
387
387
  if(edge!=nullptr)
388
388
  {
@@ -392,7 +392,7 @@ public:
392
392
  }
393
393
 
394
394
  /// has thread join edge
395
- inline ThreadJoinEdge* hasThreadJoinEdge(const CallBlockNode* call, PTACallGraphNode* joinFunNode, PTACallGraphNode* threadRoutineFunNode, CallSiteID csId) const
395
+ inline ThreadJoinEdge* hasThreadJoinEdge(const CallICFGNode* call, PTACallGraphNode* joinFunNode, PTACallGraphNode* threadRoutineFunNode, CallSiteID csId) const
396
396
  {
397
397
  ThreadJoinEdge joinEdge(joinFunNode,threadRoutineFunNode, csId);
398
398
  CallInstToJoinEdgesMap::const_iterator it = callinstToThreadJoinEdgesMap.find(call);
@@ -41,7 +41,7 @@ namespace SVF
41
41
 
42
42
  class PointerAnalysis;
43
43
  class VFGStat;
44
- class CallBlockNode;
44
+ class CallICFGNode;
45
45
 
46
46
  /*!
47
47
  * Interprocedural Control-Flow Graph (VFG)
@@ -60,7 +60,7 @@ public:
60
60
  typedef Map<NodeID, VFGNode *> VFGNodeIDToNodeMapTy;
61
61
  typedef Set<VFGNode*> VFGNodeSet;
62
62
  typedef Map<const PAGNode*, NodeID> PAGNodeToDefMapTy;
63
- typedef Map<std::pair<NodeID,const CallBlockNode*>, ActualParmVFGNode *> PAGNodeToActualParmMapTy;
63
+ typedef Map<std::pair<NodeID,const CallICFGNode*>, ActualParmVFGNode *> PAGNodeToActualParmMapTy;
64
64
  typedef Map<const PAGNode*, ActualRetVFGNode *> PAGNodeToActualRetMapTy;
65
65
  typedef Map<const PAGNode*, FormalParmVFGNode *> PAGNodeToFormalParmMapTy;
66
66
  typedef Map<const PAGNode*, FormalRetVFGNode *> PAGNodeToFormalRetMapTy;
@@ -171,15 +171,15 @@ public:
171
171
  void updateCallGraph(PointerAnalysis* pta);
172
172
 
173
173
  /// Connect VFG nodes between caller and callee for indirect call site
174
- virtual void connectCallerAndCallee(const CallBlockNode* cs, const SVFFunction* callee, VFGEdgeSetTy& edges);
174
+ virtual void connectCallerAndCallee(const CallICFGNode* cs, const SVFFunction* callee, VFGEdgeSetTy& edges);
175
175
 
176
176
  /// Get callsite given a callsiteID
177
177
  //@{
178
- inline CallSiteID getCallSiteID(const CallBlockNode* cs, const SVFFunction* func) const
178
+ inline CallSiteID getCallSiteID(const CallICFGNode* cs, const SVFFunction* func) const
179
179
  {
180
180
  return callgraph->getCallSiteID(cs, func);
181
181
  }
182
- inline const CallBlockNode* getCallSite(CallSiteID id) const
182
+ inline const CallICFGNode* getCallSite(CallSiteID id) const
183
183
  {
184
184
  return callgraph->getCallSite(id);
185
185
  }
@@ -232,7 +232,7 @@ public:
232
232
  assert(it != PAGNodeToCmpVFGNodeMap.end() && "CmpVFGNode can not be found??");
233
233
  return it->second;
234
234
  }
235
- inline ActualParmVFGNode* getActualParmVFGNode(const PAGNode* aparm,const CallBlockNode* cs) const
235
+ inline ActualParmVFGNode* getActualParmVFGNode(const PAGNode* aparm,const CallICFGNode* cs) const
236
236
  {
237
237
  PAGNodeToActualParmMapTy::const_iterator it = PAGNodeToActualParmMap.find(std::make_pair(aparm->getId(),cs));
238
238
  assert(it!=PAGNodeToActualParmMap.end() && "actual parameter VFG node can not be found??");
@@ -377,7 +377,7 @@ protected:
377
377
  /// Connect VFG nodes between caller and callee for indirect call site
378
378
  //@{
379
379
  /// Connect actual-param and formal param
380
- virtual inline void connectAParamAndFParam(const PAGNode* csArg, const PAGNode* funArg, const CallBlockNode* cbn, CallSiteID csId, VFGEdgeSetTy& edges)
380
+ virtual inline void connectAParamAndFParam(const PAGNode* csArg, const PAGNode* funArg, const CallICFGNode* cbn, CallSiteID csId, VFGEdgeSetTy& edges)
381
381
  {
382
382
  NodeID actualParam = getActualParmVFGNode(csArg, cbn)->getId();
383
383
  NodeID formalParam = getFormalParmVFGNode(funArg)->getId();
@@ -447,7 +447,7 @@ protected:
447
447
  void connectDirectVFGEdges();
448
448
 
449
449
  /// Create edges between VFG nodes across functions
450
- void addVFGInterEdges(const CallBlockNode* cs, const SVFFunction* callee);
450
+ void addVFGInterEdges(const CallICFGNode* cs, const SVFFunction* callee);
451
451
 
452
452
  inline bool isPhiCopyEdge(const PAGEdge* copy) const
453
453
  {
@@ -521,7 +521,7 @@ protected:
521
521
  /// Add an actual parameter VFG node
522
522
  /// To be noted that multiple actual parameters may have same value (PAGNode)
523
523
  /// So we need to make a pair <PAGNodeID,CallSiteID> to find the right VFGParmNode
524
- inline void addActualParmVFGNode(const PAGNode* aparm, const CallBlockNode* cs)
524
+ inline void addActualParmVFGNode(const PAGNode* aparm, const CallICFGNode* cs)
525
525
  {
526
526
  ActualParmVFGNode* sNode = new ActualParmVFGNode(totalVFGNode++,aparm,cs);
527
527
  addVFGNode(sNode, pag->getICFG()->getCallBlockNode(cs->getCallSite()));
@@ -561,7 +561,7 @@ protected:
561
561
  }
562
562
  }
563
563
  /// Add a callsite Receive VFG node
564
- inline void addActualRetVFGNode(const PAGNode* ret,const CallBlockNode* cs)
564
+ inline void addActualRetVFGNode(const PAGNode* ret,const CallICFGNode* cs)
565
565
  {
566
566
  ActualRetVFGNode* sNode = new ActualRetVFGNode(totalVFGNode++,ret,cs);
567
567
  addVFGNode(sNode, pag->getICFG()->getRetBlockNode(cs->getCallSite()));
@@ -831,16 +831,16 @@ public:
831
831
  class ActualParmVFGNode : public ArgumentVFGNode
832
832
  {
833
833
  private:
834
- const CallBlockNode* cs;
834
+ const CallICFGNode* cs;
835
835
  public:
836
836
  /// Constructor
837
- ActualParmVFGNode(NodeID id, const PAGNode* n, const CallBlockNode* c) :
837
+ ActualParmVFGNode(NodeID id, const PAGNode* n, const CallICFGNode* c) :
838
838
  ArgumentVFGNode(id, n, AParm), cs(c)
839
839
  {
840
840
  }
841
841
 
842
842
  /// Return callsite
843
- inline const CallBlockNode* getCallSite() const
843
+ inline const CallICFGNode* getCallSite() const
844
844
  {
845
845
  return cs;
846
846
  }
@@ -948,7 +948,7 @@ public:
948
948
  class ActualRetVFGNode: public ArgumentVFGNode
949
949
  {
950
950
  private:
951
- const CallBlockNode* cs;
951
+ const CallICFGNode* cs;
952
952
 
953
953
  ActualRetVFGNode(); ///< place holder
954
954
  ActualRetVFGNode(const ActualRetVFGNode &); ///< place holder
@@ -956,12 +956,12 @@ private:
956
956
 
957
957
  public:
958
958
  /// Constructor
959
- ActualRetVFGNode(NodeID id, const PAGNode* n, const CallBlockNode* c) :
959
+ ActualRetVFGNode(NodeID id, const PAGNode* n, const CallICFGNode* c) :
960
960
  ArgumentVFGNode(id, n, ARet), cs(c)
961
961
  {
962
962
  }
963
963
  /// Return callsite
964
- inline const CallBlockNode* getCallSite() const
964
+ inline const CallICFGNode* getCallSite() const
965
965
  {
966
966
  return cs;
967
967
  }
@@ -1090,7 +1090,7 @@ public:
1090
1090
  return fun;
1091
1091
  }
1092
1092
 
1093
- inline const CallBlockNode* getCallSite() const
1093
+ inline const CallICFGNode* getCallSite() const
1094
1094
  {
1095
1095
  assert(isActualRetPHI() && "expect a actual return phi");
1096
1096
  return callInst;
@@ -1120,7 +1120,7 @@ public:
1120
1120
 
1121
1121
  private:
1122
1122
  const SVFFunction* fun;
1123
- const CallBlockNode* callInst;
1123
+ const CallICFGNode* callInst;
1124
1124
  };
1125
1125
 
1126
1126
 
@@ -222,12 +222,12 @@ class CallMU : public MSSAMU<Cond>
222
222
  {
223
223
 
224
224
  private:
225
- const CallBlockNode* callsite;
225
+ const CallICFGNode* callsite;
226
226
 
227
227
  public:
228
228
  /// Constructor/Destructor for MU
229
229
  //@{
230
- CallMU(const CallBlockNode* cs, const MemRegion* m, Cond c = true) :
230
+ CallMU(const CallICFGNode* cs, const MemRegion* m, Cond c = true) :
231
231
  MSSAMU<Cond>(MSSAMU<Cond>::CallMSSAMU,m,c), callsite(cs)
232
232
  {
233
233
  }
@@ -238,7 +238,7 @@ public:
238
238
  //@}
239
239
 
240
240
  /// Return callsite
241
- inline const CallBlockNode* getCallSite() const
241
+ inline const CallICFGNode* getCallSite() const
242
242
  {
243
243
  return callsite;
244
244
  }
@@ -521,11 +521,11 @@ template<class Cond>
521
521
  class CallCHI : public MSSACHI<Cond>
522
522
  {
523
523
  private:
524
- const CallBlockNode* callsite;
524
+ const CallICFGNode* callsite;
525
525
  public:
526
526
  /// Constructors for StoreCHI
527
527
  //@{
528
- CallCHI(const CallBlockNode* cs, const MemRegion* m, Cond c = true) :
528
+ CallCHI(const CallICFGNode* cs, const MemRegion* m, Cond c = true) :
529
529
  MSSACHI<Cond>(MSSADEF::CallMSSACHI,m,c), callsite(cs)
530
530
  {
531
531
  }
@@ -541,7 +541,7 @@ public:
541
541
  }
542
542
 
543
543
  /// Return callsite
544
- inline const CallBlockNode* getCallSite() const
544
+ inline const CallICFGNode* getCallSite() const
545
545
  {
546
546
  return callsite;
547
547
  }
@@ -148,14 +148,14 @@ public:
148
148
  //@{
149
149
  typedef Map<const LoadStmt*, MRSet> LoadsToMRsMap;
150
150
  typedef Map<const StoreStmt*, MRSet> StoresToMRsMap;
151
- typedef Map<const CallBlockNode*, MRSet> CallSiteToMRsMap;
151
+ typedef Map<const CallICFGNode*, MRSet> CallSiteToMRsMap;
152
152
  //@}
153
153
 
154
154
  /// Map loads/stores/callsites to their cpts set
155
155
  //@{
156
156
  typedef Map<const LoadStmt*, NodeBS> LoadsToPointsToMap;
157
157
  typedef Map<const StoreStmt*, NodeBS> StoresToPointsToMap;
158
- typedef Map<const CallBlockNode*, NodeBS> CallSiteToPointsToMap;
158
+ typedef Map<const CallICFGNode*, NodeBS> CallSiteToPointsToMap;
159
159
  //@}
160
160
 
161
161
  /// Maps Mod-Ref analysis
@@ -163,7 +163,7 @@ public:
163
163
  /// Map a function to its indirect refs/mods of memory objects
164
164
  typedef Map<const SVFFunction*, NodeBS> FunToNodeBSMap;
165
165
  /// Map a callsite to its indirect refs/mods of memory objects
166
- typedef Map<const CallBlockNode*, NodeBS> CallSiteToNodeBSMap;
166
+ typedef Map<const CallICFGNode*, NodeBS> CallSiteToNodeBSMap;
167
167
  //@}
168
168
 
169
169
  typedef Map<NodeID, NodeBS> NodeToPTSSMap;
@@ -242,18 +242,18 @@ private:
242
242
  void destroy();
243
243
 
244
244
  //Get all objects might pass into callee from a callsite
245
- void collectCallSitePts(const CallBlockNode* cs);
245
+ void collectCallSitePts(const CallICFGNode* cs);
246
246
 
247
247
  //Recursive collect points-to chain
248
248
  NodeBS& CollectPtsChain(NodeID id);
249
249
 
250
250
  /// Return the pts chain of all callsite arguments
251
- inline NodeBS& getCallSiteArgsPts(const CallBlockNode* cs)
251
+ inline NodeBS& getCallSiteArgsPts(const CallICFGNode* cs)
252
252
  {
253
253
  return csToCallSiteArgsPtsMap[cs];
254
254
  }
255
255
  /// Return the pts chain of the return parameter of the callsite
256
- inline NodeBS& getCallSiteRetPts(const CallBlockNode* cs)
256
+ inline NodeBS& getCallSiteRetPts(const CallICFGNode* cs)
257
257
  {
258
258
  return csToCallSiteRetPtsMap[cs];
259
259
  }
@@ -329,7 +329,7 @@ protected:
329
329
  virtual void modRefAnalysis(PTACallGraphNode* callGraphNode, WorkList& worklist);
330
330
 
331
331
  /// Get Mod-Ref of a callee function
332
- virtual bool handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallBlockNode* cs, const SVFFunction* fun);
332
+ virtual bool handleCallsiteModRef(NodeBS& mod, NodeBS& ref, const CallICFGNode* cs, const SVFFunction* fun);
333
333
 
334
334
 
335
335
  /// Add cpts to store/load
@@ -346,12 +346,12 @@ protected:
346
346
  funToPointsToMap[fun].insert(cpts);
347
347
  addRefSideEffectOfFunction(fun,cpts);
348
348
  }
349
- inline void addCPtsToCallSiteRefs(NodeBS& cpts, const CallBlockNode* cs)
349
+ inline void addCPtsToCallSiteRefs(NodeBS& cpts, const CallICFGNode* cs)
350
350
  {
351
351
  callsiteToRefPointsToMap[cs] |= cpts;
352
352
  funToPointsToMap[cs->getCaller()].insert(cpts);
353
353
  }
354
- inline void addCPtsToCallSiteMods(NodeBS& cpts, const CallBlockNode* cs)
354
+ inline void addCPtsToCallSiteMods(NodeBS& cpts, const CallICFGNode* cs)
355
355
  {
356
356
  callsiteToModPointsToMap[cs] |= cpts;
357
357
  funToPointsToMap[cs->getCaller()].insert(cpts);
@@ -376,9 +376,9 @@ protected:
376
376
  /// Add indirect def an memory object in the function
377
377
  void addModSideEffectOfFunction(const SVFFunction* fun, const NodeBS& mods);
378
378
  /// Add indirect uses an memory object in the function
379
- bool addRefSideEffectOfCallSite(const CallBlockNode* cs, const NodeBS& refs);
379
+ bool addRefSideEffectOfCallSite(const CallICFGNode* cs, const NodeBS& refs);
380
380
  /// Add indirect def an memory object in the function
381
- bool addModSideEffectOfCallSite(const CallBlockNode* cs, const NodeBS& mods);
381
+ bool addModSideEffectOfCallSite(const CallICFGNode* cs, const NodeBS& mods);
382
382
 
383
383
  /// Get indirect refs of a function
384
384
  inline const NodeBS& getRefSideEffectOfFunction(const SVFFunction* fun)
@@ -391,22 +391,22 @@ protected:
391
391
  return funToModsMap[fun];
392
392
  }
393
393
  /// Get indirect refs of a callsite
394
- inline const NodeBS& getRefSideEffectOfCallSite(const CallBlockNode* cs)
394
+ inline const NodeBS& getRefSideEffectOfCallSite(const CallICFGNode* cs)
395
395
  {
396
396
  return csToRefsMap[cs];
397
397
  }
398
398
  /// Get indirect mods of a callsite
399
- inline const NodeBS& getModSideEffectOfCallSite(const CallBlockNode* cs)
399
+ inline const NodeBS& getModSideEffectOfCallSite(const CallICFGNode* cs)
400
400
  {
401
401
  return csToModsMap[cs];
402
402
  }
403
403
  /// Has indirect refs of a callsite
404
- inline bool hasRefSideEffectOfCallSite(const CallBlockNode* cs)
404
+ inline bool hasRefSideEffectOfCallSite(const CallICFGNode* cs)
405
405
  {
406
406
  return csToRefsMap.find(cs) != csToRefsMap.end();
407
407
  }
408
408
  /// Has indirect mods of a callsite
409
- inline bool hasModSideEffectOfCallSite(const CallBlockNode* cs)
409
+ inline bool hasModSideEffectOfCallSite(const CallICFGNode* cs)
410
410
  {
411
411
  return csToModsMap.find(cs) != csToModsMap.end();
412
412
  }
@@ -448,19 +448,19 @@ public:
448
448
  {
449
449
  return storesToMRsMap[store];
450
450
  }
451
- inline bool hasRefMRSet(const CallBlockNode* cs)
451
+ inline bool hasRefMRSet(const CallICFGNode* cs)
452
452
  {
453
453
  return callsiteToRefMRsMap.find(cs)!=callsiteToRefMRsMap.end();
454
454
  }
455
- inline bool hasModMRSet(const CallBlockNode* cs)
455
+ inline bool hasModMRSet(const CallICFGNode* cs)
456
456
  {
457
457
  return callsiteToModMRsMap.find(cs)!=callsiteToModMRsMap.end();
458
458
  }
459
- inline MRSet& getCallSiteRefMRSet(const CallBlockNode* cs)
459
+ inline MRSet& getCallSiteRefMRSet(const CallICFGNode* cs)
460
460
  {
461
461
  return callsiteToRefMRsMap[cs];
462
462
  }
463
- inline MRSet& getCallSiteModMRSet(const CallBlockNode* cs)
463
+ inline MRSet& getCallSiteModMRSet(const CallICFGNode* cs)
464
464
  {
465
465
  return callsiteToModMRsMap[cs];
466
466
  }
@@ -473,11 +473,11 @@ public:
473
473
  /// getModRefInfo APIs
474
474
  //@{
475
475
  /// Collect mod ref for external callsite other than heap alloc external call
476
- NodeBS getModInfoForCall(const CallBlockNode* cs);
477
- NodeBS getRefInfoForCall(const CallBlockNode* cs);
478
- ModRefInfo getModRefInfo(const CallBlockNode* cs);
479
- ModRefInfo getModRefInfo(const CallBlockNode* cs, const Value* V);
480
- ModRefInfo getModRefInfo(const CallBlockNode* cs1, const CallBlockNode* cs2);
476
+ NodeBS getModInfoForCall(const CallICFGNode* cs);
477
+ NodeBS getRefInfoForCall(const CallICFGNode* cs);
478
+ ModRefInfo getModRefInfo(const CallICFGNode* cs);
479
+ ModRefInfo getModRefInfo(const CallICFGNode* cs, const Value* V);
480
+ ModRefInfo getModRefInfo(const CallICFGNode* cs1, const CallICFGNode* cs2);
481
481
  //@}
482
482
 
483
483
  };
@@ -73,8 +73,8 @@ public:
73
73
  //@{
74
74
  typedef Map<const LoadStmt*, MUSet> LoadToMUSetMap;
75
75
  typedef Map<const StoreStmt*, CHISet> StoreToChiSetMap;
76
- typedef Map<const CallBlockNode*, MUSet> CallSiteToMUSetMap;
77
- typedef Map<const CallBlockNode*, CHISet> CallSiteToCHISetMap;
76
+ typedef Map<const CallICFGNode*, MUSet> CallSiteToMUSetMap;
77
+ typedef Map<const CallICFGNode*, CHISet> CallSiteToCHISetMap;
78
78
  typedef Map<const BasicBlock*, PHISet> BBToPhiSetMap;
79
79
  //@}
80
80
 
@@ -190,12 +190,12 @@ private:
190
190
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
191
191
  AddStoreCHI(bb,store,*iter);
192
192
  }
193
- inline void AddCallSiteMU(const CallBlockNode* cs, const MRSet& mrSet)
193
+ inline void AddCallSiteMU(const CallICFGNode* cs, const MRSet& mrSet)
194
194
  {
195
195
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
196
196
  AddCallSiteMU(cs,*iter);
197
197
  }
198
- inline void AddCallSiteCHI(const CallBlockNode* cs, const MRSet& mrSet)
198
+ inline void AddCallSiteCHI(const CallICFGNode* cs, const MRSet& mrSet)
199
199
  {
200
200
  for (MRSet::iterator iter = mrSet.begin(), eiter = mrSet.end(); iter != eiter; ++iter)
201
201
  AddCallSiteCHI(cs,*iter);
@@ -218,13 +218,13 @@ private:
218
218
  collectRegUses(mr);
219
219
  collectRegDefs(bb,mr);
220
220
  }
221
- inline void AddCallSiteMU(const CallBlockNode* cs, const MemRegion* mr)
221
+ inline void AddCallSiteMU(const CallICFGNode* cs, const MemRegion* mr)
222
222
  {
223
223
  CALLMU* mu = new CALLMU(cs, mr);
224
224
  callsiteToMuSetMap[cs].insert(mu);
225
225
  collectRegUses(mr);
226
226
  }
227
- inline void AddCallSiteCHI(const CallBlockNode* cs, const MemRegion* mr)
227
+ inline void AddCallSiteCHI(const CallICFGNode* cs, const MemRegion* mr)
228
228
  {
229
229
  CALLCHI* chi = new CALLCHI(cs, mr);
230
230
  callsiteToChiSetMap[cs].insert(chi);
@@ -352,11 +352,11 @@ public:
352
352
  else
353
353
  return false;
354
354
  }
355
- inline bool hasMU(const CallBlockNode* cs) const
355
+ inline bool hasMU(const CallICFGNode* cs) const
356
356
  {
357
357
  return callsiteToMuSetMap.find(cs)!=callsiteToMuSetMap.end();
358
358
  }
359
- inline bool hasCHI(const CallBlockNode* cs) const
359
+ inline bool hasCHI(const CallICFGNode* cs) const
360
360
  {
361
361
  return callsiteToChiSetMap.find(cs)!=callsiteToChiSetMap.end();
362
362
  }
@@ -393,11 +393,11 @@ public:
393
393
  {
394
394
  return store2ChiSetMap[st];
395
395
  }
396
- inline MUSet& getMUSet(const CallBlockNode* cs)
396
+ inline MUSet& getMUSet(const CallICFGNode* cs)
397
397
  {
398
398
  return callsiteToMuSetMap[cs];
399
399
  }
400
- inline CHISet& getCHISet(const CallBlockNode* cs)
400
+ inline CHISet& getCHISet(const CallICFGNode* cs)
401
401
  {
402
402
  return callsiteToChiSetMap[cs];
403
403
  }
@@ -33,8 +33,8 @@ public:
33
33
  return _mod;
34
34
  }
35
35
  private:
36
- // Get CallBlockNode
37
- inline CallBlockNode* getCBN(const Instruction* inst) {
36
+ // Get CallICFGNode
37
+ inline CallICFGNode* getCBN(const Instruction* inst) {
38
38
  return _la->getTCT()->getCallBlockNode(inst);
39
39
  }
40
40
  const Instruction *getPreviousMemoryAccessInst( const Instruction *I) {
package/include/MTA/MHP.h CHANGED
@@ -61,8 +61,8 @@ public:
61
61
  return tct;
62
62
  }
63
63
 
64
- // Get CallBlockNode
65
- inline CallBlockNode* getCBN(const Instruction* inst) {
64
+ // Get CallICFGNode
65
+ inline CallICFGNode* getCBN(const Instruction* inst) {
66
66
  return tct->getCallBlockNode(inst);
67
67
  }
68
68
 
@@ -379,8 +379,8 @@ private:
379
379
  {
380
380
  return tct->getPTA()->alias(getForkedThread(forkSite), getJoinedThread(joinSite)) && isSameSCEV(forkSite,joinSite);
381
381
  }
382
- // Get CallBlockNode
383
- inline CallBlockNode* getCBN(const Instruction* inst) {
382
+ // Get CallICFGNode
383
+ inline CallICFGNode* getCBN(const Instruction* inst) {
384
384
  return tct->getCallBlockNode(inst);
385
385
  }
386
386
  /// Mark thread flags for cxtStmt
package/include/MTA/PCG.h CHANGED
@@ -123,7 +123,7 @@ public:
123
123
  {
124
124
  }
125
125
 
126
- CallBlockNode* getCallBlockNode(const Instruction* inst) {
126
+ CallICFGNode* getCallBlockNode(const Instruction* inst) {
127
127
  return pta->getICFG()->getCallBlockNode(inst);
128
128
  }
129
129
  const SVFFunction* getSVFFun(const Function* fun) const {
package/include/MTA/TCT.h CHANGED
@@ -147,8 +147,8 @@ public:
147
147
  {
148
148
  destroy();
149
149
  }
150
- /// Get CallBlockNode given inst
151
- CallBlockNode* getCallBlockNode(const Instruction* inst) {
150
+ /// Get CallICFGNode given inst
151
+ CallICFGNode* getCallBlockNode(const Instruction* inst) {
152
152
  return pta->getICFG()->getCallBlockNode(inst);
153
153
  }
154
154
  /// Get SVFFuntion given Function