svf-tools 1.0.450 → 1.0.451

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 (518) hide show
  1. package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +5 -5
  4. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +5 -5
  7. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +16 -16
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +10 -10
  10. package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +4 -4
  12. package/SVF-doxygen/html/html/BDDExpr_8h_source.html +5 -5
  13. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
  14. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +6 -6
  19. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +3 -3
  20. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +4 -4
  21. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +28 -28
  23. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
  24. package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
  25. package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
  26. package/SVF-doxygen/html/html/CHG_8h_source.html +6 -6
  27. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
  28. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +24 -24
  29. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
  30. package/SVF-doxygen/html/html/CSC_8cpp_source.html +3 -3
  31. package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
  32. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +7 -7
  33. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +2 -2
  36. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/ConsG_8h_source.html +5 -5
  38. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +12 -12
  39. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  40. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
  43. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +30 -30
  44. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
  45. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
  46. package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
  47. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  48. package/SVF-doxygen/html/html/DDAPass_8h_source.html +6 -6
  49. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
  51. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +11 -11
  52. package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
  53. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
  54. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
  55. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +7 -7
  56. package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
  57. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +23 -23
  58. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +7 -7
  59. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +4 -4
  60. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
  62. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +5 -5
  63. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
  64. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +3 -3
  65. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +12 -12
  66. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +5 -5
  67. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +10 -10
  68. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +4 -4
  69. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  70. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +5 -5
  71. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +1 -1
  72. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
  73. package/SVF-doxygen/html/html/Graph2Json_8cpp.html +1 -0
  74. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -4
  75. package/SVF-doxygen/html/html/Graph2Json_8h_source.html +5 -5
  76. package/SVF-doxygen/html/html/GraphPrinter_8h.html +1 -0
  77. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +6 -7
  78. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
  79. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
  80. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
  81. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  82. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
  83. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +11 -11
  84. package/SVF-doxygen/html/html/ICFG_8h_source.html +5 -5
  85. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +14 -14
  86. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +5 -5
  87. package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -6
  88. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +15 -15
  89. package/SVF-doxygen/html/html/LLVMModule_8h.html +2 -1
  90. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +46 -45
  91. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +28 -28
  92. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +27 -27
  93. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  94. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
  95. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +8 -8
  96. package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
  97. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +15 -15
  98. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
  99. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
  100. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +7 -7
  101. package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
  102. package/SVF-doxygen/html/html/MHP_8cpp_source.html +26 -26
  103. package/SVF-doxygen/html/html/MHP_8h_source.html +10 -10
  104. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +7 -7
  105. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +9 -9
  106. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +9 -9
  107. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +22 -22
  108. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +12 -12
  109. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +6 -6
  110. package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
  111. package/SVF-doxygen/html/html/MTA_8cpp_source.html +12 -12
  112. package/SVF-doxygen/html/html/MTA_8h_source.html +8 -8
  113. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +2 -2
  114. package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
  115. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +19 -19
  116. package/SVF-doxygen/html/html/MemRegion_8h_source.html +9 -9
  117. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +16 -16
  118. package/SVF-doxygen/html/html/MemSSA_8h_source.html +9 -9
  119. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
  120. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  121. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -3
  123. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
  124. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  125. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
  126. package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
  127. package/SVF-doxygen/html/html/PCG_8h_source.html +6 -6
  128. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +6 -6
  129. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +7 -7
  130. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
  131. package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
  132. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +17 -17
  133. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +12 -12
  134. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
  135. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  136. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +17 -18
  137. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +17 -17
  138. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +22 -22
  139. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +9 -9
  140. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +3 -3
  141. package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
  142. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  143. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
  144. package/SVF-doxygen/html/html/SCC_8h_source.html +3 -3
  145. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +79 -42
  146. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +44 -42
  147. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +22 -25
  148. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
  149. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  150. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  151. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  152. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
  153. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  154. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
  155. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +4 -4
  156. package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
  157. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +46 -54
  158. package/SVF-doxygen/html/html/SVFG_8h_source.html +46 -48
  159. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +54 -54
  160. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +49 -49
  161. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +4 -4
  162. package/SVF-doxygen/html/html/SVFIR_8h_source.html +9 -9
  163. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  164. package/SVF-doxygen/html/html/SVFModule_8h_source.html +6 -6
  165. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
  166. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +9 -9
  167. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -15
  168. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
  169. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  170. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
  171. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
  172. package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
  173. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +6 -5
  174. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +7 -7
  175. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
  176. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +5 -5
  177. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
  178. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  179. package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
  180. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +37 -37
  181. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
  182. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
  183. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +10 -10
  184. package/SVF-doxygen/html/html/TCT_8cpp_source.html +21 -21
  185. package/SVF-doxygen/html/html/TCT_8h_source.html +19 -19
  186. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +7 -7
  187. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +11 -10
  188. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +9 -9
  189. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
  190. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
  191. package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
  192. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +27 -27
  193. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +5 -5
  194. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -8
  195. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +117 -120
  196. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
  197. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  198. package/SVF-doxygen/html/html/VFG_8cpp_source.html +9 -9
  199. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
  200. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
  201. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +12 -12
  202. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +6 -6
  203. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +2 -2
  204. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +10 -10
  205. package/SVF-doxygen/html/html/WPAPass_8h_source.html +8 -8
  206. package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
  207. package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
  208. package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
  209. package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
  210. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  211. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
  214. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
  215. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +21 -21
  220. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -3
  222. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  223. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  224. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +7 -7
  225. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +3 -3
  226. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  228. package/SVF-doxygen/html/html/classSVF_1_1BDDExprManager.html +3 -3
  229. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +34 -35
  230. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  231. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  232. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
  233. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
  234. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  235. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +2 -2
  236. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +2 -2
  238. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +53 -53
  239. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +9 -9
  240. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
  241. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  242. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  243. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +6 -6
  244. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  248. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  252. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  253. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +4 -4
  254. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
  255. package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  257. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
  258. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +25 -25
  260. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  261. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
  262. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
  263. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  265. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +67 -67
  268. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +4 -4
  269. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +8 -8
  270. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  271. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +28 -28
  272. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  273. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
  274. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  276. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +10 -10
  278. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +1 -1
  279. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +51 -51
  280. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  281. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +11 -11
  282. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +30 -30
  283. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
  284. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +23 -23
  285. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +36 -36
  286. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  287. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  289. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  290. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
  291. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +3 -3
  292. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  294. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +2 -2
  296. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  297. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
  299. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +17 -17
  300. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +15 -16
  303. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +21 -21
  304. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +3 -3
  305. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
  307. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
  308. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  309. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  310. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +4 -4
  312. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +4 -4
  313. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  314. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  315. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  316. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
  317. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +132 -132
  318. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  319. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +6 -6
  321. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
  323. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +10 -10
  324. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +65 -65
  325. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +21 -21
  326. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  327. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +42 -42
  328. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  329. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
  330. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +14 -14
  331. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +16 -16
  332. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +44 -44
  333. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +24 -24
  334. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +7 -7
  335. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +41 -41
  337. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  338. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  339. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
  340. package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
  341. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
  342. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +2 -2
  343. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  344. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  345. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +2 -2
  346. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  347. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +25 -25
  348. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  349. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
  350. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +7 -7
  351. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  352. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +3 -3
  353. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  354. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +36 -36
  355. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
  356. package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
  357. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
  358. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
  359. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  360. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +33 -33
  361. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +6 -6
  362. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +9 -9
  363. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
  364. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  365. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  366. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +4 -4
  367. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  368. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  369. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +31 -31
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +154 -155
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +132 -166
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +177 -178
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +17 -19
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +6 -6
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +147 -147
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +5 -5
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  385. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
  386. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +1 -1
  387. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +7 -7
  388. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -11
  389. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  390. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +9 -9
  391. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
  392. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  393. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  394. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +1 -1
  395. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +6 -6
  396. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  397. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  398. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +61 -61
  399. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +23 -23
  400. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +50 -50
  401. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  402. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  403. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI-members.html +2 -2
  404. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +20 -20
  405. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +23 -23
  406. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  407. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  408. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  409. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  410. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
  411. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +34 -34
  412. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  413. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
  414. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +11 -11
  415. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  416. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  417. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  418. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  419. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +28 -28
  420. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +7 -7
  421. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
  422. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
  423. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  424. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
  425. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
  426. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +7 -8
  427. package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
  428. package/SVF-doxygen/html/html/functions_f.html +14 -17
  429. package/SVF-doxygen/html/html/functions_func_f.html +0 -3
  430. package/SVF-doxygen/html/html/functions_func_g.html +6 -6
  431. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  432. package/SVF-doxygen/html/html/functions_g.html +6 -6
  433. package/SVF-doxygen/html/html/functions_i.html +4 -4
  434. package/SVF-doxygen/html/html/functions_n.html +4 -4
  435. package/SVF-doxygen/html/html/functions_o.html +3 -3
  436. package/SVF-doxygen/html/html/functions_p.html +7 -7
  437. package/SVF-doxygen/html/html/functions_s.html +13 -13
  438. package/SVF-doxygen/html/html/functions_t.html +5 -5
  439. package/SVF-doxygen/html/html/functions_type_t.html +2 -2
  440. package/SVF-doxygen/html/html/functions_v.html +6 -6
  441. package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
  442. package/SVF-doxygen/html/html/globals_l.html +3 -0
  443. package/SVF-doxygen/html/html/globals_s.html +3 -3
  444. package/SVF-doxygen/html/html/globals_type.html +6 -0
  445. package/SVF-doxygen/html/html/globals_u.html +5 -2
  446. package/SVF-doxygen/html/html/namespaceSVF.html +119 -191
  447. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +72 -72
  448. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +44 -44
  449. package/SVF-doxygen/html/html/namespacemembers_l.html +0 -3
  450. package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
  451. package/SVF-doxygen/html/html/namespacemembers_t.html +0 -3
  452. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -12
  453. package/SVF-doxygen/html/html/namespacemembers_u.html +0 -3
  454. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  455. package/SVF-doxygen/html/html/search/all_13.js +9 -10
  456. package/SVF-doxygen/html/html/search/all_14.js +7 -8
  457. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  458. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  459. package/SVF-doxygen/html/html/search/all_6.js +0 -1
  460. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  461. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  462. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  463. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  464. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  465. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  466. package/SVF-doxygen/html/html/search/functions_10.js +1 -1
  467. package/SVF-doxygen/html/html/search/functions_5.js +0 -1
  468. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  469. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  470. package/SVF-doxygen/html/html/search/typedefs_12.js +1 -2
  471. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  472. package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
  473. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  474. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  475. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  476. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  477. package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
  478. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
  479. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
  480. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
  481. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  482. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  483. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  484. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  485. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  486. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +24 -24
  487. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
  488. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
  489. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  490. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
  491. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
  492. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  493. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  494. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  495. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
  496. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
  497. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  498. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
  499. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  500. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  501. package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -4
  502. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -6
  503. package/include/Graphs/GraphPrinter.h +1 -0
  504. package/include/Graphs/SVFG.h +0 -5
  505. package/include/MSSA/MSSAMuChi.h +2 -2
  506. package/include/SABER/SaberCheckerAPI.h +1 -1
  507. package/include/SVF-FE/BasicTypes.h +4 -0
  508. package/include/SVF-FE/LLVMModule.h +1 -0
  509. package/include/Util/BasicTypes.h +0 -4
  510. package/include/Util/ExtAPI.h +2 -3
  511. package/include/Util/SVFBasicTypes.h +0 -2
  512. package/include/Util/ThreadAPI.h +2 -2
  513. package/lib/Graphs/SVFG.cpp +0 -22
  514. package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -16
  515. package/lib/SABER/SaberSVFGBuilder.cpp +2 -2
  516. package/lib/SVF-FE/Graph2Json.cpp +3 -1
  517. package/lib/Util/ThreadAPI.cpp +4 -4
  518. package/package.json +1 -1
@@ -67,21 +67,21 @@ $(function() {
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
69
  <a href="AndersenSFR_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">//===- AndersenSFR.cpp -- SFR based field-sensitive Andersen&#39;s analysis-------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * AndersenSFR.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: 09, Feb, 2019</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yuxiang Lei</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="AndersenSFR_8h.html">WPA/AndersenSFR.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="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</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="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="keyword">using namespace </span>SVFUtil;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a> *<a class="code" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">AndersenSFR::sfrAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4"> 41</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">AndersenSFR::initialize</a>()</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">AndersenSCD::initialize</a>();</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; setPWCOpt(<span class="keyword">false</span>);</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="keywordflow">if</span> (!csc)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; csc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CSC.html">CSC</a>(_graph, scc);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// detect and collapse cycles that only comprise copy edges</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; getSCCDetector()-&gt;find();</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; mergeSccCycle();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;}</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a7bb1bd307c5db4d732e51af810c5ad75"> 58</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSFR.html#a7bb1bd307c5db4d732e51af810c5ad75">AndersenSFR::PWCDetect</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; <a class="code" href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">AndersenSCD::PWCDetect</a>();</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; csc-&gt;find(getSCCDetector()-&gt;topoNodeStack());</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;}</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#ac5f406db5610347564fceff4d36f6a6f"> 68</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AndersenSFR.html#ac5f406db5610347564fceff4d36f6a6f">AndersenSFR::mergeSrcToTgt</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId)</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;{</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = consCG-&gt;getConstraintNode(nodeId);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (!node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.empty())</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* newRepNode = consCG-&gt;getConstraintNode(newRepId);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; newRepNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a> |= node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>;</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; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">AndersenSCD::mergeSrcToTgt</a>(nodeId, newRepId);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a654abe596f1f6f33e2373503af1f5038"> 83</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AndersenSFR.html#a654abe596f1f6f33e2373503af1f5038">AndersenSFR::processGepPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a>* edge)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;{</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (!dst-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.empty() &amp;&amp; SVFUtil::isa&lt;NormalGepCGEdge&gt;(edge)) <span class="comment">// dst is in pwc</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> tmpDstPts;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> srcInits = pts - getPts(dstId);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">if</span> (!srcInits.<a class="code" href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">empty</a>())</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> sortSrcInits;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd : srcInits)</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; sortSrcInits.insert(ptd);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offset = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>&gt;(edge)-&gt;getConstantFieldIdx();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; fieldExpand(sortSrcInits, offset, dst-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>, tmpDstPts);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">if</span> (unionPts(dstId, tmpDstPts))</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; pushIntoWorklist(dstId);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</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; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">Andersen::processGepPts</a>(pts, edge);</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="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf"> 119</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf">AndersenSFR::fieldExpand</a>(<a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>&amp; initials, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offset, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; strides, <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; expandPts)</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; numOfFieldExpand++;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">while</span> (!initials.empty())</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> init = *initials.begin();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; initials.erase(init);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">if</span> (consCG-&gt;isBlkObjOrConstantObj(init))</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; expandPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(init);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">else</span></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; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* initPN = pag-&gt;getGNode(init);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* obj = pag-&gt;getBaseObj(init);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxLimit = obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a51be7ad70bc2c6a4230bd2f6b86bdc88">getMaxFieldOffsetLimit</a>();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> initOffset;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a> *gepNode = SVFUtil::dyn_cast&lt;GepObjVar&gt;(initPN))</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; initOffset = gepNode-&gt;getConstantFieldIdx();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;FIObjVar&gt;(initPN) || SVFUtil::isa&lt;DummyObjVar&gt;(initPN))</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; initOffset = 0;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;Not an object node!!&quot;</span>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;s32_t&gt;</a> offsets;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; offsets.insert(offset);</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; <span class="comment">// calculate offsets</span></div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordtype">bool</span> loopFlag = <span class="keyword">true</span>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">while</span> (loopFlag)</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; loopFlag = <span class="keyword">false</span>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> _f : offsets)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> _s : strides)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> _f1 = _f + _s;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; loopFlag = (offsets.find(_f1) == offsets.end()) &amp;&amp; ( (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)(initOffset + _f1) &lt; maxLimit);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (loopFlag)</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; offsets.insert(_f1);</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="l00160"></a><span class="lineno"> 160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="comment">// get gep objs</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> _f : offsets)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepId = consCG-&gt;getGepObjVar(init, <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>(_f));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; initials.erase(gepId); <span class="comment">// gep id in initials should be removed to avoid redundant derivation</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; expandPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(gepId);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00392">SymbolTableInfo.h:392</a></div></div>
70
- <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00122">SVFBasicTypes.h:122</a></div></div>
70
+ <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00121">SVFBasicTypes.h:121</a></div></div>
71
71
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1NormalGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html">SVF::NormalGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00265">ConsGEdge.h:265</a></div></div>
73
73
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_abcf0f758174f224c5da066d0115beefb"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">SVF::AndersenSFR::sfrAndersen</a></div><div class="ttdeci">static AndersenSFR * sfrAndersen</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00110">AndersenSFR.h:110</a></div></div>
74
74
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
75
75
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a654abe596f1f6f33e2373503af1f5038"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a654abe596f1f6f33e2373503af1f5038">SVF::AndersenSFR::processGepPts</a></div><div class="ttdeci">bool processGepPts(const PointsTo &amp;pts, const GepCGEdge *edge)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#l00083">AndersenSFR.cpp:83</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
77
- <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
77
+ <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_aa768e5cd0a762d17e2ec2baaad0486bf"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf">SVF::AndersenSFR::fieldExpand</a></div><div class="ttdeci">void fieldExpand(NodeSet &amp;initials, s32_t offset, NodeBS &amp;strides, PointsTo &amp;expandPts)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#l00119">AndersenSFR.cpp:119</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a7bb1bd307c5db4d732e51af810c5ad75"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a7bb1bd307c5db4d732e51af810c5ad75">SVF::AndersenSFR::PWCDetect</a></div><div class="ttdeci">void PWCDetect()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#l00058">AndersenSFR.cpp:58</a></div></div>
81
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
81
+ <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a3b255068b3ea53041af94fd373a53bd4"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a3b255068b3ea53041af94fd373a53bd4">SVF::AndersenSFR::initialize</a></div><div class="ttdeci">void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8cpp_source.html#l00041">AndersenSFR.cpp:41</a></div></div>
83
83
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
84
- <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00105">SVFBasicTypes.h:105</a></div></div>
84
+ <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1Andersen_html_a20617a69c112ad423b1b5021e48a8548"><div class="ttname"><a href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00186">Andersen.cpp:186</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
87
87
  <div class="ttc" id="classSVF_1_1MemObj_html_a51be7ad70bc2c6a4230bd2f6b86bdc88"><div class="ttname"><a href="classSVF_1_1MemObj.html#a51be7ad70bc2c6a4230bd2f6b86bdc88">SVF::MemObj::getMaxFieldOffsetLimit</a></div><div class="ttdeci">u32_t getMaxFieldOffsetLimit() const</div><div class="ttdoc">Get max field offset limit. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00687">SymbolTableInfo.cpp:687</a></div></div>
@@ -96,7 +96,7 @@ $(function() {
96
96
  <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>
97
97
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
98
98
  <div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00048">LocationSet.h:48</a></div></div>
99
- <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
99
+ <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
100
100
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
101
101
  <div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00783">Andersen.cpp:783</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
@@ -69,18 +69,18 @@ $(function() {
69
69
  <a href="AndersenSFR_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">//===- AndersenSFR.h -- SFR based field-sensitive Andersen&#39;s analysis-------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * AndersenSFR.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: 09, Feb, 2019</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yuxiang Lei</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 PROJECT_ANDERSENSFR_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define PROJECT_ANDERSENSFR_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;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</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="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CSC_8h.html">WPA/CSC.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="PointsTo_8h.html">MemoryModel/PointsTo.h</a>&quot;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;{</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1Andersen.html">Andersen</a></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#a88ab40d553f49e173f9c53b32575ccda"> 47</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, NodeID&gt;</a> <a class="code" href="classSVF_1_1AndersenSCD.html#a88ab40d553f49e173f9c53b32575ccda">NodeToNodeMap</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#a1d143f104c0bfb5258b7129d0eceb4cd"> 50</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a>* <a class="code" href="classSVF_1_1AndersenSCD.html#a1d143f104c0bfb5258b7129d0eceb4cd">scdAndersen</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#aeb0b3644c3bfbfa5768b92c99aeeef40"> 51</a></span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> <a class="code" href="classSVF_1_1AndersenSCD.html#aeb0b3644c3bfbfa5768b92c99aeeef40">sccCandidates</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#ac4bf67d35b56f010aeedb59777a83f0e"> 52</a></span>&#160; NodeToNodeMap <a class="code" href="classSVF_1_1AndersenSCD.html#ac4bf67d35b56f010aeedb59777a83f0e">pwcReps</a>;</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="keyword">public</span>:</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#a65593ef3db3762b476936f473e900a18"> 55</a></span>&#160; <a class="code" href="classSVF_1_1AndersenSCD.html#a65593ef3db3762b476936f473e900a18">AndersenSCD</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* _pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> type = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">AndersenSCD_WPA</a>) :</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>(_pag,type)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#ad403be45ff1c69fccdff6c5f3f1959c2"> 61</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a> *<a class="code" href="classSVF_1_1AndersenSCD.html#ad403be45ff1c69fccdff6c5f3f1959c2">createAndersenSCD</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* _pag)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (scdAndersen == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a65593ef3db3762b476936f473e900a18">AndersenSCD</a>(_pag);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; scdAndersen-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a1d143f104c0bfb5258b7129d0eceb4cd">scdAndersen</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; }</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a1d143f104c0bfb5258b7129d0eceb4cd">scdAndersen</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#ac2003ddf910f55d5c53c762b45964b50"> 72</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#ac2003ddf910f55d5c53c762b45964b50">releaseAndersenSCD</a>()</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">if</span> (scdAndersen)</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a1d143f104c0bfb5258b7129d0eceb4cd">scdAndersen</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; scdAndersen = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSCD.html#ad8530ce52f87c4ea94cac579288e2689"> 80</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#ad8530ce52f87c4ea94cac579288e2689">addSccCandidate</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; sccCandidates.insert(<a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(nodeId));</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="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">virtual</span> <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>&amp; <a class="code" href="classSVF_1_1AndersenSCD.html#a70f69baf47587b742b5013a63a3ce593">SCCDetect</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">PWCDetect</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a98fac4ecfe203666178e2ace39da81e2">solveWorklist</a>();</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a7ae683eb8c607a0e742b44e3019b8cbc">handleLoadStore</a>(<a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a52704e25a1e3b30ddf8676811f4e1584">processAddr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a0b5990e8b0230c019a2bcedbab354cba">addCopyEdge</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> src, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dst);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AndersenSCD.html#a512c636bdaafe6a3ac8f0cc29392c573">updateCallGraph</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a>&amp; callsites);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#aaee864bb1fc5b5d4643e145d80ecfb8b">processPWC</a>(<a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* rep);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61">handleCopyGep</a>(<a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node);</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;};</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html"> 102</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;{</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#ae81c9716b434f0f1e372d0ddf7003910"> 105</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, NodeBS&gt;</a> <a class="code" href="classSVF_1_1AndersenSFR.html#ae81c9716b434f0f1e372d0ddf7003910">NodeStrides</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a52aa0c2a02a0db6700c4a7a8819d0a5d"> 106</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, NodeSet&gt;</a> <a class="code" href="classSVF_1_1AndersenSFR.html#a52aa0c2a02a0db6700c4a7a8819d0a5d">FieldReps</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a654c391ad41b026eec2e0a1a54146600"> 107</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;NodeID, pair&lt;NodeID, NodeSet&gt;</a>&gt; <a class="code" href="classSVF_1_1AndersenSFR.html#a654c391ad41b026eec2e0a1a54146600">SFRTrait</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb"> 110</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a>* <a class="code" href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">sfrAndersen</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb"> 112</a></span>&#160; <a class="code" href="classSVF_1_1CSC.html">CSC</a>* <a class="code" href="classSVF_1_1AndersenSFR.html#aa39c668b1473ac4fb99da3aa736c9edb">csc</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a0865c50224ffc1e053cf859122f83f75"> 113</a></span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> <a class="code" href="classSVF_1_1AndersenSFR.html#a0865c50224ffc1e053cf859122f83f75">sfrObjNodes</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a99337c429aebe9046c65068b44eff7cc"> 114</a></span>&#160; FieldReps <a class="code" href="classSVF_1_1AndersenSFR.html#a99337c429aebe9046c65068b44eff7cc">fieldReps</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a61967331f111832d2374524605591499"> 117</a></span>&#160; <a class="code" href="classSVF_1_1AndersenSFR.html#a61967331f111832d2374524605591499">AndersenSFR</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* _pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> type = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">AndersenSFR_WPA</a>) :</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1AndersenSCD.html">AndersenSCD</a>(_pag, type), csc(nullptr)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a4792427f84f402ec30f9447d24f3faad"> 123</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a> *<a class="code" href="classSVF_1_1AndersenSFR.html#a4792427f84f402ec30f9447d24f3faad">createAndersenSFR</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* _pag)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">if</span> (sfrAndersen == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenSFR.html">AndersenSFR</a>(_pag);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; sfrAndersen-&gt;<a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> sfrAndersen;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">return</span> sfrAndersen;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#a4aa1607b7d84a6de151c19ae84b913b9"> 134</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSFR.html#a4aa1607b7d84a6de151c19ae84b913b9">releaseAndersenSFR</a>()</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; <span class="keywordflow">if</span> (sfrAndersen)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keyword">delete</span> sfrAndersen;</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="l00140"></a><span class="lineno"><a class="line" href="classSVF_1_1AndersenSFR.html#aabdafa8234569219fc5d96bb44ca8ef0"> 140</a></span>&#160; <a class="code" href="classSVF_1_1AndersenSFR.html#aabdafa8234569219fc5d96bb44ca8ef0">~AndersenSFR</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; <span class="keywordflow">if</span> (csc != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">delete</span>(csc);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; csc = <span class="keyword">nullptr</span>;</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"> 148</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">initialize</a>();</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AndersenSCD.html#af155524f6f78424a846fe2eb575bb40a">PWCDetect</a>();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordtype">void</span> fieldExpand(<a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>&amp; initials, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offset, <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; strides, <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; expandPts);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e">processGepPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>&amp; pts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepCGEdge.html">GepCGEdge</a>* edge);</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_1Andersen.html#ae6b1e54a389abc68994219e39539127e">mergeSrcToTgt</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newRepId);</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;};</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;} <span class="comment">// End namespace SVF</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;<span class="preprocessor">#endif //PROJECT_ANDERSENSFR_H</span></div><div class="ttc" id="Andersen_8h_html"><div class="ttname"><a href="Andersen_8h.html">Andersen.h</a></div></div>
70
70
  <div class="ttc" id="CSC_8h_html"><div class="ttname"><a href="CSC_8h.html">CSC.h</a></div></div>
71
71
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a52aa0c2a02a0db6700c4a7a8819d0a5d"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a52aa0c2a02a0db6700c4a7a8819d0a5d">SVF::AndersenSFR::FieldReps</a></div><div class="ttdeci">Map&lt; NodeID, NodeSet &gt; FieldReps</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00106">AndersenSFR.h:106</a></div></div>
72
- <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00122">SVFBasicTypes.h:122</a></div></div>
72
+ <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00121">SVFBasicTypes.h:121</a></div></div>
73
73
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
74
74
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a61967331f111832d2374524605591499"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a61967331f111832d2374524605591499">SVF::AndersenSFR::AndersenSFR</a></div><div class="ttdeci">AndersenSFR(SVFIR *_pag, PTATY type=AndersenSFR_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00117">AndersenSFR.h:117</a></div></div>
75
- <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00127">SVFBasicTypes.h:127</a></div></div>
75
+ <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00126">SVFBasicTypes.h:126</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a4792427f84f402ec30f9447d24f3faad"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a4792427f84f402ec30f9447d24f3faad">SVF::AndersenSFR::createAndersenSFR</a></div><div class="ttdeci">static AndersenSFR * createAndersenSFR(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00123">AndersenSFR.h:123</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_abcf0f758174f224c5da066d0115beefb"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#abcf0f758174f224c5da066d0115beefb">SVF::AndersenSFR::sfrAndersen</a></div><div class="ttdeci">static AndersenSFR * sfrAndersen</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00110">AndersenSFR.h:110</a></div></div>
78
78
  <div class="ttc" id="classSVF_1_1AndersenSCD_html_a70f69baf47587b742b5013a63a3ce593"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#a70f69baf47587b742b5013a63a3ce593">SVF::AndersenSCD::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSCD_8cpp_source.html#l00095">AndersenSCD.cpp:95</a></div></div>
79
79
  <div class="ttc" id="classSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
80
- <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
80
+ <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a654c391ad41b026eec2e0a1a54146600"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a654c391ad41b026eec2e0a1a54146600">SVF::AndersenSFR::SFRTrait</a></div><div class="ttdeci">Map&lt; NodeID, pair&lt; NodeID, NodeSet &gt; &gt; SFRTrait</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00107">AndersenSFR.h:107</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00102">Andersen.cpp:102</a></div></div>
83
- <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00110">SVFBasicTypes.h:110</a></div></div>
83
+ <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00109">SVFBasicTypes.h:109</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a4aa1607b7d84a6de151c19ae84b913b9"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a4aa1607b7d84a6de151c19ae84b913b9">SVF::AndersenSFR::releaseAndersenSFR</a></div><div class="ttdeci">static void releaseAndersenSFR()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00134">AndersenSFR.h:134</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_aabdafa8234569219fc5d96bb44ca8ef0"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#aabdafa8234569219fc5d96bb44ca8ef0">SVF::AndersenSFR::~AndersenSFR</a></div><div class="ttdeci">~AndersenSFR()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00140">AndersenSFR.h:140</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_a99337c429aebe9046c65068b44eff7cc"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#a99337c429aebe9046c65068b44eff7cc">SVF::AndersenSFR::fieldReps</a></div><div class="ttdeci">FieldReps fieldReps</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00114">AndersenSFR.h:114</a></div></div>
@@ -107,7 +107,7 @@ $(function() {
107
107
  <div class="ttc" id="classSVF_1_1AndersenSCD_html_ad8530ce52f87c4ea94cac579288e2689"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#ad8530ce52f87c4ea94cac579288e2689">SVF::AndersenSCD::addSccCandidate</a></div><div class="ttdeci">void addSccCandidate(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00080">AndersenSFR.h:80</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1AndersenSCD_html_aaee864bb1fc5b5d4643e145d80ecfb8b"><div class="ttname"><a href="classSVF_1_1AndersenSCD.html#aaee864bb1fc5b5d4643e145d80ecfb8b">SVF::AndersenSCD::processPWC</a></div><div class="ttdeci">virtual void processPWC(ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSCD_8cpp_source.html#l00161">AndersenSCD.cpp:161</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00109">PointerAnalysis.h:109</a></div></div>
110
- <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
110
+ <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1Andersen_html_ae6b1e54a389abc68994219e39539127e"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae6b1e54a389abc68994219e39539127e">SVF::Andersen::mergeSrcToTgt</a></div><div class="ttdeci">virtual bool mergeSrcToTgt(NodeID srcId, NodeID tgtId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00783">Andersen.cpp:783</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1AndersenSFR_html_ae81c9716b434f0f1e372d0ddf7003910"><div class="ttname"><a href="classSVF_1_1AndersenSFR.html#ae81c9716b434f0f1e372d0ddf7003910">SVF::AndersenSFR::NodeStrides</a></div><div class="ttdeci">Map&lt; NodeID, NodeBS &gt; NodeStrides</div><div class="ttdef"><b>Definition:</b> <a href="AndersenSFR_8h_source.html#l00105">AndersenSFR.h:105</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">SVF::PointerAnalysis::PTATY</a></div><div class="ttdeci">PTATY</div><div class="ttdoc">Pointer analysis type list. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00062">PointerAnalysis.h:62</a></div></div>
@@ -80,7 +80,7 @@ $(function() {
80
80
  <div class="ttc" id="classSVF_1_1AndersenStat_html_ac16491cbf4bcd22dc1a8acd25db20e10"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#ac16491cbf4bcd22dc1a8acd25db20e10">SVF::AndersenStat::_MaxNumOfNodesInSCC</a></div><div class="ttdeci">static u32_t _MaxNumOfNodesInSCC</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00061">WPAStat.h:61</a></div></div>
81
81
  <div class="ttc" id="classSVF_1_1AndersenStat_html_ab8f8152b5e6127f2d9bdcbd22083da67"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#ab8f8152b5e6127f2d9bdcbd22083da67">SVF::AndersenStat::_NumOfConstantPtr</a></div><div class="ttdeci">u32_t _NumOfConstantPtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00063">WPAStat.h:63</a></div></div>
82
82
  <div class="ttc" id="classSVF_1_1PTAStat_html_a16f9bdb5387471d0bd825c4a9cbcb22e"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a16f9bdb5387471d0bd825c4a9cbcb22e">SVF::PTAStat::NumOfGepFieldObjects</a></div><div class="ttdeci">static const char * NumOfGepFieldObjects</div><div class="ttdoc">SVFIR gep object node (field obj, dynamically created dummy node) </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00102">PTAStat.h:102</a></div></div>
83
- <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00122">SVFBasicTypes.h:122</a></div></div>
83
+ <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00121">SVFBasicTypes.h:121</a></div></div>
84
84
  <div class="ttc" id="classSVF_1_1PTAStat_html_a1745e5c3c026a130a70954da9c0074b1"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a1745e5c3c026a130a70954da9c0074b1">SVF::PTAStat::NumOfFieldExpand</a></div><div class="ttdeci">static const char * NumOfFieldExpand</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00081">PTAStat.h:81</a></div></div>
85
85
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
86
86
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a898f091cd9aeed4b0cf5b338b8a3b1d3"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a898f091cd9aeed4b0cf5b338b8a3b1d3">SVF::AndersenStat::statNullPtr</a></div><div class="ttdeci">void statNullPtr()</div><div class="ttdef"><b>Definition:</b> <a href="AndersenStat_8cpp_source.html#l00212">AndersenStat.cpp:212</a></div></div>
@@ -106,7 +106,7 @@ $(function() {
106
106
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a48a71f212e368769218a6f332822c976"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a48a71f212e368769218a6f332822c976">SVF::ConstraintGraph::getIndirectCallsites</a></div><div class="ttdeci">const SVFIR::CallSiteToFunPtrMap &amp; getIndirectCallsites() const</div><div class="ttdoc">Wrappers for invoking SVFIR methods. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00302">ConsG.h:302</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a4acad18a6eb585ba9e3d2276dd591067"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a4acad18a6eb585ba9e3d2276dd591067">SVF::AndersenBase::numOfProcessedAddr</a></div><div class="ttdeci">static u32_t numOfProcessedAddr</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00122">Andersen.h:122</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1IRGraph_html_a82528aff779ccf8f723f57507dd2d991"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">SVF::IRGraph::getObjectNodeNum</a></div><div class="ttdeci">u32_t getObjectNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00177">IRGraph.h:177</a></div></div>
109
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
109
+ <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
110
110
  <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#l00069">SVFUtil.cpp:69</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a25b00d9ca71cbdd27530fc5d0dc84ee5"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a25b00d9ca71cbdd27530fc5d0dc84ee5">SVF::AndersenBase::numOfSfrs</a></div><div class="ttdeci">static u32_t numOfSfrs</div><div class="ttdoc">Number of processed Store edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00127">Andersen.h:127</a></div></div>
112
112
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a2b763519509ce21cf40893c01f8357b6"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a2b763519509ce21cf40893c01f8357b6">SVF::AndersenBase::numOfProcessedStore</a></div><div class="ttdeci">static u32_t numOfProcessedStore</div><div class="ttdoc">Number of processed Load edge. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00126">Andersen.h:126</a></div></div>
@@ -130,7 +130,7 @@ $(function() {
130
130
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3724756ac0527ba3d199be32e38c6337"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">SVF::PTAStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00149">PTAStat.h:149</a></div></div>
131
131
  <div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
132
132
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a0d7298cbf83568f24fd2bd1926a32968"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968">SVF::AndersenBase::numOfSCCDetection</a></div><div class="ttdeci">static u32_t numOfSCCDetection</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00130">Andersen.h:130</a></div></div>
133
- <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
133
+ <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00091">BasicTypes.h:91</a></div></div>
134
134
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00206">PointerAnalysis.h:206</a></div></div>
135
135
  <div class="ttc" id="classSVF_1_1AndersenBase_html_a9f453ec1b4236b8194ae590981217259"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a9f453ec1b4236b8194ae590981217259">SVF::AndersenBase::numOfFieldExpand</a></div><div class="ttdeci">static u32_t numOfFieldExpand</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00128">Andersen.h:128</a></div></div>
136
136
  <div class="ttc" id="classSVF_1_1PTAStat_html_a5524ff7901659f56e9de343992be8f3b"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a5524ff7901659f56e9de343992be8f3b">SVF::PTAStat::startClk</a></div><div class="ttdeci">virtual void startClk()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00134">PTAStat.h:134</a></div></div>
@@ -145,7 +145,7 @@ $(function() {
145
145
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00233">ConsG.h:233</a></div></div>
146
146
  <div class="ttc" id="classSVF_1_1PTAStat_html"><div class="ttname"><a href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00049">PTAStat.h:49</a></div></div>
147
147
  <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
148
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00183">SVFBasicTypes.h:183</a></div></div>
148
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00181">SVFBasicTypes.h:181</a></div></div>
149
149
  <div class="ttc" id="classSVF_1_1PTAStat_html_acfed70588cf921694db35990ec3c7497"><div class="ttname"><a href="classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497">SVF::PTAStat::performStat</a></div><div class="ttdeci">virtual void performStat()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00133">PTAStat.cpp:133</a></div></div>
150
150
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a38dfd00f384eea7899a29b2ec32a0ded"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a38dfd00f384eea7899a29b2ec32a0ded">SVF::AndersenStat::_NumOfNullPtr</a></div><div class="ttdeci">u32_t _NumOfNullPtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00062">WPAStat.h:62</a></div></div>
151
151
  <div class="ttc" id="classSVF_1_1AndersenStat_html_a27d4e2bf145226f3c2b4d46fee2311e7"><div class="ttname"><a href="classSVF_1_1AndersenStat.html#a27d4e2bf145226f3c2b4d46fee2311e7">SVF::AndersenStat::_NumOfBlackholePtr</a></div><div class="ttdeci">u32_t _NumOfBlackholePtr</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00064">WPAStat.h:64</a></div></div>
@@ -161,7 +161,7 @@ $(function() {
161
161
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
162
162
  <div class="ttc" id="classSVF_1_1PTAStat_html_a1a4d418fd9e5413e7ffbbfe57f5e0560"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a1a4d418fd9e5413e7ffbbfe57f5e0560">SVF::PTAStat::TotalNumOfPointers</a></div><div class="ttdeci">static const char * TotalNumOfPointers</div><div class="ttdoc">Total SVFIR value node. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00060">PTAStat.h:60</a></div></div>
163
163
  <div class="ttc" id="classSVF_1_1PTAStat_html_a1649c9f893c5b9ec2d57a399bc050030"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a1649c9f893c5b9ec2d57a399bc050030">SVF::PTAStat::AverageTopLevPointsToSetSize</a></div><div class="ttdeci">static const char * AverageTopLevPointsToSetSize</div><div class="ttdoc">Average points-to size of top-level variables. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00105">PTAStat.h:105</a></div></div>
164
- <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
164
+ <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
165
165
  <div class="ttc" id="classSVF_1_1PTAStat_html_a59e0fe6fa506f1cf319b5acaf9d28be9"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a59e0fe6fa506f1cf319b5acaf9d28be9">SVF::PTAStat::startTime</a></div><div class="ttdeci">double startTime</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00152">PTAStat.h:152</a></div></div>
166
166
  <div class="ttc" id="classSVF_1_1PTAStat_html_a0de03cdb382b353c6c1495c0f80cfe19"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a0de03cdb382b353c6c1495c0f80cfe19">SVF::PTAStat::NumOfProcessedAddrs</a></div><div class="ttdeci">static const char * NumOfProcessedAddrs</div><div class="ttdoc">SVFIR processed addr edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00074">PTAStat.h:74</a></div></div>
167
167
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a6e8c46641da751fe3369c9d5407ce415"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a6e8c46641da751fe3369c9d5407ce415">SVF::ConstraintGraph::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00318">ConsG.h:318</a></div></div>
@@ -71,7 +71,7 @@ $(function() {
71
71
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_afa1055cda6c910b24480505efd205895"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#afa1055cda6c910b24480505efd205895">SVF::AndersenWaveDiff::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00091">AndersenWaveDiff.cpp:91</a></div></div>
72
72
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
73
73
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
74
- <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00127">SVFBasicTypes.h:127</a></div></div>
74
+ <div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack&lt; NodeID &gt; NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00126">SVFBasicTypes.h:126</a></div></div>
75
75
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
76
76
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00419">Andersen.h:419</a></div></div>
77
77
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00180">PointsTo.h:180</a></div></div>
@@ -91,7 +91,7 @@ $(function() {
91
91
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a134e8ed040d7749c2b9a02662115f746"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a134e8ed040d7749c2b9a02662115f746">SVF::ConstraintNode::outgoingLoadsEnd</a></div><div class="ttdeci">const_iterator outgoingLoadsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00262">ConsGNode.h:262</a></div></div>
92
92
  <div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
93
93
  <div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_aa0659a2787c1f9b1b6ec62900313475e"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#aa0659a2787c1f9b1b6ec62900313475e">SVF::AndersenWaveDiff::postProcessNode</a></div><div class="ttdeci">virtual void postProcessNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00108">AndersenWaveDiff.cpp:108</a></div></div>
94
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00183">SVFBasicTypes.h:183</a></div></div>
94
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00181">SVFBasicTypes.h:181</a></div></div>
95
95
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_ab77173aa8af6155b569f20ff0cdcec72"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">SVF::ConstraintNode::getCopyOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getCopyOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00128">ConsGNode.h:128</a></div></div>
96
96
  <div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00814">Andersen.cpp:814</a></div></div>
97
97
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a19d3d2c996ba821227a836717e5443c8"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a19d3d2c996ba821227a836717e5443c8">SVF::ConstraintNode::getGepOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getGepOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00136">ConsGNode.h:136</a></div></div>