svf-tools 1.0.458 → 1.0.459

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 (239) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
  3. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +12 -12
  7. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
  8. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  9. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  10. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +15 -15
  12. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  17. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
  19. package/SVF-doxygen/html/html/DCHG_8h_source.html +6 -6
  20. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  21. package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
  22. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +4 -4
  25. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
  27. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  31. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
  33. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
  36. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  37. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  41. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  42. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
  44. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +10 -10
  45. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
  46. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  50. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
  52. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  54. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  55. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
  58. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
  59. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
  60. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -3
  63. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
  68. package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
  70. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  73. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  74. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
  75. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  76. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +2 -2
  77. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
  79. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  80. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
  81. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
  82. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
  83. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  84. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  86. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +22 -22
  88. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +7 -7
  89. package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
  91. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
  92. package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
  93. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
  94. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  95. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  96. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  98. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  99. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +13 -13
  100. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  101. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
  102. package/SVF-doxygen/html/html/TCT_8cpp_source.html +8 -8
  103. package/SVF-doxygen/html/html/TCT_8h_source.html +6 -6
  104. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
  105. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  106. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  107. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
  110. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  111. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +2 -4
  112. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -68
  113. package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
  114. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  115. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  116. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  117. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  118. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
  119. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +5 -5
  124. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
  125. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  126. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  127. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  129. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +39 -39
  131. package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +8 -8
  133. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
  137. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
  138. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
  142. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  147. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
  148. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  149. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +16 -16
  150. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -8
  151. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
  152. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +8 -8
  155. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +8 -8
  156. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -15
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  159. package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
  162. package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
  164. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
  165. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -5
  169. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +6 -6
  170. package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
  172. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +19 -19
  173. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  174. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
  176. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
  178. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
  180. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
  182. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +42 -42
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
  188. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +15 -15
  190. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +8 -8
  191. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +16 -16
  192. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
  193. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  194. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  195. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +13 -13
  196. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
  197. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  198. package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
  200. package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
  201. package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
  202. package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
  203. package/SVF-doxygen/html/html/functions_func_g.html +5 -5
  204. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  205. package/SVF-doxygen/html/html/functions_g.html +5 -5
  206. package/SVF-doxygen/html/html/functions_s.html +1 -1
  207. package/SVF-doxygen/html/html/globals_s.html +7 -13
  208. package/SVF-doxygen/html/html/namespaceSVF.html +32 -50
  209. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +100 -58
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +24 -24
  211. package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
  212. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  213. package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
  214. package/SVF-doxygen/html/html/namespacemembers_type.html +0 -3
  215. package/SVF-doxygen/html/html/search/all_13.js +7 -8
  216. package/SVF-doxygen/html/html/search/all_7.js +2 -2
  217. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  218. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  219. package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
  220. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  221. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  222. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  223. package/include/DDA/DDAPass.h +1 -1
  224. package/include/MTA/LockResultValidator.h +1 -1
  225. package/include/MTA/MTA.h +1 -1
  226. package/include/MTA/MTAAnnotator.h +1 -1
  227. package/include/MTA/MTAResultValidator.h +1 -1
  228. package/include/SVF-FE/BreakConstantExpr.h +2 -2
  229. package/include/Util/BasicTypes.h +2 -3
  230. package/include/Util/SVFBasicTypes.h +1 -1
  231. package/include/Util/SVFUtil.h +16 -1
  232. package/include/WPA/WPAPass.h +1 -1
  233. package/lib/MTA/LockResultValidator.cpp +2 -2
  234. package/lib/MTA/MTAResultValidator.cpp +2 -2
  235. package/lib/SVF-FE/DCHG.cpp +8 -8
  236. package/lib/Util/PTAStat.cpp +11 -3
  237. package/lib/Util/SVFUtil.cpp +3 -3
  238. package/lib/Util/ThreadAPI.cpp +12 -4
  239. package/package.json +1 -1
@@ -327,7 +327,7 @@ var searchData=
327
327
  ['getfunargslist',['getFunArgsList',['../classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a',1,'SVF::SVFIR']]],
328
328
  ['getfunargsmap',['getFunArgsMap',['../classSVF_1_1SVFIR.html#a615c056c876b59d1fd174a2ac9ade27c',1,'SVF::SVFIR']]],
329
329
  ['getfuncentrychiset',['getFuncEntryChiSet',['../classSVF_1_1MemSSA.html#a10743fe9c116ee624387c0473815b800',1,'SVF::MemSSA']]],
330
- ['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#a4f457db1cfa0d4f94762a306c0ac3757',1,'SVF::SVFUtil::getFunction()']]],
330
+ ['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5',1,'SVF::SVFUtil::getFunction()']]],
331
331
  ['getfunctiontype',['getFunctionType',['../classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f',1,'SVF::CallSite']]],
332
332
  ['getfunentryblock',['getFunEntryBlock',['../classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a',1,'SVF::ICFG']]],
333
333
  ['getfunentrychinum',['getFunEntryChiNum',['../classSVF_1_1MemSSA.html#a15272a4ed019d1c323d1826c1bedb70f',1,'SVF::MemSSA']]],
@@ -560,7 +560,7 @@ var searchData=
560
560
  ['getparentsbegin',['getParentsBegin',['../classSVF_1_1TCT.html#afa5bd475c4dc068a0ecc0ec5caab77a9',1,'SVF::TCT']]],
561
561
  ['getparentsend',['getParentsEnd',['../classSVF_1_1TCT.html#a5d6a06c7daff36a14fa1f371a477784d',1,'SVF::TCT']]],
562
562
  ['getparentthread',['getParentThread',['../classSVF_1_1TCT.html#a516578af1f8666ff672e6611e61d7152',1,'SVF::TCT']]],
563
- ['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#a597a387848c03a05d1cfdfafc510cf2b',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a45ca7724c876baabef88e6d4e32633d0',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a86f257df95182494de5aa48949999bd3',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a758a2b1c38f5045a6760a22897d7dca8',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a12fda9849e3d9e4eb71e0bff8d0696f8',1,'SVF::WPAPass::getPassName()']]],
563
+ ['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#aeac7209ad169cc2aea2022494031069f',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a7cb3bc9f1fa9897e36ffd8b781b9ad85',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a182830d0a9d07015628211ec5eb0d4c6',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a436a61f00b607dd0e5728daad9dd2e93',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a8f6bbf39ea2848ff3b6d105aeb5a31b1',1,'SVF::WPAPass::getPassName()']]],
564
564
  ['getpathallocator',['getPathAllocator',['../classSVF_1_1SrcSnkDDA.html#a1a6ae6b1f6864057067d0e5533ea801e',1,'SVF::SrcSnkDDA']]],
565
565
  ['getpathconstraint',['getPathConstraint',['../classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8',1,'SVF::ExeState']]],
566
566
  ['getphicomplementcond',['getPHIComplementCond',['../classSVF_1_1PathCondAllocator.html#abef2785eb426d5e1d6f273300c691db6',1,'SVF::PathCondAllocator']]],
@@ -126,7 +126,7 @@ var searchData=
126
126
  ['spawnersend',['spawnersEnd',['../classSVF_1_1PCG.html#ae0062860a89d191c2532834ac93c4c64',1,'SVF::PCG']]],
127
127
  ['spawnsitesbegin',['spawnSitesBegin',['../classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8',1,'SVF::PCG']]],
128
128
  ['spawnsitesend',['spawnSitesEnd',['../classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817',1,'SVF::PCG']]],
129
- ['split',['split',['../classSVF_1_1LockResultValidator.html#ab8a6935e1ea6f99d60ead862a7b1782f',1,'SVF::LockResultValidator::split(const std::string &s, char delim, Set< std::string > &elems)'],['../classSVF_1_1LockResultValidator.html#ad26006e14c866d694bc6e2ebaa41ded9',1,'SVF::LockResultValidator::split(const std::string &s, char delim)'],['../classSVF_1_1MTAResultValidator.html#a73db9ad234b263b6e644e4b38be14fe6',1,'SVF::MTAResultValidator::split(const std::string &s, char delim, std::vector< std::string > &elems)'],['../classSVF_1_1MTAResultValidator.html#a7dad63ce2a85142a56d13926f10fde47',1,'SVF::MTAResultValidator::split(const std::string &s, char delim)']]],
129
+ ['split',['split',['../classSVF_1_1LockResultValidator.html#ab8a6935e1ea6f99d60ead862a7b1782f',1,'SVF::LockResultValidator::split(const std::string &s, char delim, Set< std::string > &elems)'],['../classSVF_1_1LockResultValidator.html#ad26006e14c866d694bc6e2ebaa41ded9',1,'SVF::LockResultValidator::split(const std::string &s, char delim)'],['../classSVF_1_1MTAResultValidator.html#a73db9ad234b263b6e644e4b38be14fe6',1,'SVF::MTAResultValidator::split(const std::string &s, char delim, std::vector< std::string > &elems)'],['../classSVF_1_1MTAResultValidator.html#a7dad63ce2a85142a56d13926f10fde47',1,'SVF::MTAResultValidator::split(const std::string &s, char delim)'],['../namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b',1,'SVF::SVFUtil::split()']]],
130
130
  ['srcsnkdda',['SrcSnkDDA',['../classSVF_1_1SrcSnkDDA.html#a73f6ddd4ba868e203109c52e4f3600bd',1,'SVF::SrcSnkDDA']]],
131
131
  ['srcsnksolver',['SrcSnkSolver',['../classSVF_1_1SrcSnkSolver.html#a952450652e55f3325f24b8d237d2c37d',1,'SVF::SrcSnkSolver']]],
132
132
  ['ssarename',['SSARename',['../classSVF_1_1MemSSA.html#a16114eb55775f6ee812c1648dcaede0c',1,'SVF::MemSSA']]],
@@ -210,7 +210,7 @@ var searchData=
210
210
  ['svfirbuilder',['SVFIRBuilder',['../classSVF_1_1SVFIRBuilder.html#a8c25c3903cda26312f182014f29069fc',1,'SVF::SVFIRBuilder']]],
211
211
  ['svfmodule',['SVFModule',['../classSVF_1_1SVFModule.html#a22b214595dd7841eb974e7c633ed8bb1',1,'SVF::SVFModule']]],
212
212
  ['svfstmt',['SVFStmt',['../classSVF_1_1SVFStmt.html#a2ab7295fe26d2c6d2d5c9fd027f96a47',1,'SVF::SVFStmt']]],
213
- ['svfvalue',['SVFValue',['../classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6',1,'SVF::SVFValue']]],
213
+ ['svfvalue',['SVFValue',['../classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8',1,'SVF::SVFValue']]],
214
214
  ['svfvar',['SVFVar',['../classSVF_1_1SVFVar.html#a24daf5faa4b1d159c193e61951d17414',1,'SVF::SVFVar']]],
215
215
  ['sym2str',['sym2Str',['../classSVF_1_1GrammarBase.html#a3638a17caf8596a826b419ec5bc4df2e',1,'SVF::GrammarBase']]],
216
216
  ['sym2strdump',['sym2StrDump',['../classSVF_1_1GrammarBase.html#a4c0b76ce574087acdcb3e884480b18b0',1,'SVF::GrammarBase']]],
@@ -266,7 +266,7 @@ var searchData=
266
266
  ['getfunargslist',['getFunArgsList',['../classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a',1,'SVF::SVFIR']]],
267
267
  ['getfunargsmap',['getFunArgsMap',['../classSVF_1_1SVFIR.html#a615c056c876b59d1fd174a2ac9ade27c',1,'SVF::SVFIR']]],
268
268
  ['getfuncentrychiset',['getFuncEntryChiSet',['../classSVF_1_1MemSSA.html#a10743fe9c116ee624387c0473815b800',1,'SVF::MemSSA']]],
269
- ['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#a4f457db1cfa0d4f94762a306c0ac3757',1,'SVF::SVFUtil::getFunction()']]],
269
+ ['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5',1,'SVF::SVFUtil::getFunction()']]],
270
270
  ['getfunctiontype',['getFunctionType',['../classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f',1,'SVF::CallSite']]],
271
271
  ['getfunentryblock',['getFunEntryBlock',['../classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a',1,'SVF::ICFG']]],
272
272
  ['getfunentrychinum',['getFunEntryChiNum',['../classSVF_1_1MemSSA.html#a15272a4ed019d1c323d1826c1bedb70f',1,'SVF::MemSSA']]],
@@ -499,7 +499,7 @@ var searchData=
499
499
  ['getparentsbegin',['getParentsBegin',['../classSVF_1_1TCT.html#afa5bd475c4dc068a0ecc0ec5caab77a9',1,'SVF::TCT']]],
500
500
  ['getparentsend',['getParentsEnd',['../classSVF_1_1TCT.html#a5d6a06c7daff36a14fa1f371a477784d',1,'SVF::TCT']]],
501
501
  ['getparentthread',['getParentThread',['../classSVF_1_1TCT.html#a516578af1f8666ff672e6611e61d7152',1,'SVF::TCT']]],
502
- ['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#a597a387848c03a05d1cfdfafc510cf2b',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a45ca7724c876baabef88e6d4e32633d0',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a86f257df95182494de5aa48949999bd3',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a758a2b1c38f5045a6760a22897d7dca8',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a12fda9849e3d9e4eb71e0bff8d0696f8',1,'SVF::WPAPass::getPassName()']]],
502
+ ['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#aeac7209ad169cc2aea2022494031069f',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a7cb3bc9f1fa9897e36ffd8b781b9ad85',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a182830d0a9d07015628211ec5eb0d4c6',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a436a61f00b607dd0e5728daad9dd2e93',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a8f6bbf39ea2848ff3b6d105aeb5a31b1',1,'SVF::WPAPass::getPassName()']]],
503
503
  ['getpathallocator',['getPathAllocator',['../classSVF_1_1SrcSnkDDA.html#a1a6ae6b1f6864057067d0e5533ea801e',1,'SVF::SrcSnkDDA']]],
504
504
  ['getpathconstraint',['getPathConstraint',['../classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8',1,'SVF::ExeState']]],
505
505
  ['getphicomplementcond',['getPHIComplementCond',['../classSVF_1_1PathCondAllocator.html#abef2785eb426d5e1d6f273300c691db6',1,'SVF::PathCondAllocator']]],
@@ -33,7 +33,6 @@ var searchData=
33
33
  ['storesvfgnode',['StoreSVFGNode',['../namespaceSVF.html#a54c5725186e66ead6faf53c10a288714',1,'SVF']]],
34
34
  ['storetochisetmap',['StoreToChiSetMap',['../classSVF_1_1MemSSA.html#acfee1bb5534026ce991a1ab5e796c6b9',1,'SVF::MemSSA']]],
35
35
  ['storetopmsetmap',['StoreToPMSetMap',['../classSVF_1_1DDAVFSolver.html#accaacd2dd680f92ff83cfe75eef6ffab',1,'SVF::DDAVFSolver']]],
36
- ['stringref',['StringRef',['../namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9',1,'SVF']]],
37
36
  ['structlayout',['StructLayout',['../SVF-FE_2BasicTypes_8h.html#aef8af3d6e4b75a3e3e108b636a48fbd3',1,'BasicTypes.h']]],
38
37
  ['structtype',['StructType',['../namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb',1,'SVF']]],
39
38
  ['succ_5fconst_5fiterator',['succ_const_iterator',['../namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5',1,'SVF']]],
@@ -338,7 +338,7 @@ template&lt;class EdgeIter &gt; </div>
338
338
  </div><div class="memdoc">
339
339
 
340
340
  <p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00354">354</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
341
- <div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=Mrecord&quot;</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00134">BasicTypes.h:134</a></div></div>
341
+ <div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-&gt;<a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=Mrecord&quot;</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
342
342
  <div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
343
343
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00072">LLVMUtil.h:72</a></div></div>
344
344
  </div><!-- fragment -->
@@ -86,7 +86,7 @@ struct std::hash&lt; SVF::CallSite &gt;</h3>
86
86
 
87
87
  <p>Specialise hash for CallSites. </p>
88
88
 
89
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00300">300</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
89
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00299">299</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
90
90
  </div><h2 class="groupheader">Member Function Documentation</h2>
91
91
  <a id="a6ed3f621cd155faae27cbd844338409a"></a>
92
92
  <h2 class="memtitle"><span class="permalink"><a href="#a6ed3f621cd155faae27cbd844338409a">&#9670;&nbsp;</a></span>operator()()</h2>
@@ -112,8 +112,8 @@ struct std::hash&lt; SVF::CallSite &gt;</h3>
112
112
  </table>
113
113
  </div><div class="memdoc">
114
114
 
115
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00302">302</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
116
- <div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; std::hash&lt;SVF::Instruction *&gt; h;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00217">BasicTypes.h:217</a></div></div>
115
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00301">301</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
116
+ <div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; std::hash&lt;SVF::Instruction *&gt; h;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00216">BasicTypes.h:216</a></div></div>
117
117
  </div><!-- fragment -->
118
118
  </div>
119
119
  </div>
@@ -109,7 +109,7 @@ struct std::hash&lt; SVF::CxtProc &gt;</h3>
109
109
  </div><div class="memdoc">
110
110
 
111
111
  <p class="definition">Definition at line <a class="el" href="CxtStmt_8h_source.html#l00493">493</a> of file <a class="el" href="CxtStmt_8h_source.html">CxtStmt.h</a>.</p>
112
- <div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; std::hash&lt;SVF::SVFFunction*&gt; h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast&lt;</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">&gt;</span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00134">BasicTypes.h:134</a></div></div>
112
+ <div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; std::hash&lt;SVF::SVFFunction*&gt; h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast&lt;</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">&gt;</span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
113
113
  <div class="ttc" id="classSVF_1_1CxtProc_html_ab9ac6459c90873b7dea35e0a22700189"><div class="ttname"><a href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">SVF::CxtProc::getProc</a></div><div class="ttdeci">const SVFFunction * getProc() const</div><div class="ttdoc">Return current procedure. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00325">CxtStmt.h:325</a></div></div>
114
114
  </div><!-- fragment -->
115
115
  </div>
@@ -50,7 +50,7 @@ public:
50
50
  virtual void selectClient(SVFModule* module);
51
51
 
52
52
  /// Pass name
53
- virtual inline StringRef getPassName() const
53
+ virtual inline std::string getPassName() const
54
54
  {
55
55
  return "DDAPass";
56
56
  }
@@ -71,7 +71,7 @@ private:
71
71
  if (callee)
72
72
  {
73
73
  if (ExtAPI::EFT_L_A0__A0R_A1R == ExtAPI::getExtAPI()->get_type(callee)
74
- || callee->getName().find("llvm.memset") != StringRef::npos)
74
+ || callee->getName().find("llvm.memset") != std::string::npos)
75
75
  return I;
76
76
  }
77
77
  I = I->getPrevNode();
package/include/MTA/MTA.h CHANGED
@@ -62,7 +62,7 @@ public:
62
62
  virtual void detect(SVFModule* module);
63
63
 
64
64
  /// Pass name
65
- virtual StringRef getPassName() const
65
+ virtual llvm::StringRef getPassName() const
66
66
  {
67
67
  return "Multi threaded program analysis pass";
68
68
  }
@@ -71,7 +71,7 @@ public:
71
71
  inline bool isMemset(const Instruction *I)
72
72
  {
73
73
  const Function* F =SVFUtil::getCallee(I)->getLLVMFun();
74
- return F && F->getName().find("llvm.memset") != StringRef::npos;
74
+ return F && F->getName().find("llvm.memset") != std::string::npos;
75
75
  }
76
76
 
77
77
  /// Check if Function "F" is memcpy
@@ -417,7 +417,7 @@ private:
417
417
  if (const SVFFunction *callee = SVFUtil::getCallee(I))
418
418
  {
419
419
  if (ExtAPI::EFT_L_A0__A0R_A1R == ExtAPI::getExtAPI()->get_type(callee)
420
- || callee->getName().find("llvm.memset") != StringRef::npos)
420
+ || callee->getName().find("llvm.memset") != std::string::npos)
421
421
  return I;
422
422
  }
423
423
  I = I->getPrevNode();
@@ -37,7 +37,7 @@ private:
37
37
  public:
38
38
  static char ID;
39
39
  BreakConstantGEPs() : ModulePass(ID) {}
40
- StringRef getPassName() const
40
+ llvm::StringRef getPassName() const
41
41
  {
42
42
  return "Remove Constant GEP Expressions";
43
43
  }
@@ -61,7 +61,7 @@ private:
61
61
  public:
62
62
  static char ID;
63
63
  MergeFunctionRets() : ModulePass(ID) {}
64
- StringRef getPassName() const
64
+ llvm::StringRef getPassName() const
65
65
  {
66
66
  return "unify function exit into one dummy exit basic block";
67
67
  }
@@ -79,7 +79,6 @@ typedef llvm::LoopInfo LoopInfo;
79
79
  /// LLVM outputs
80
80
  typedef llvm::raw_string_ostream raw_string_ostream;
81
81
  typedef llvm::raw_fd_ostream raw_fd_ostream;
82
- typedef llvm::StringRef StringRef;
83
82
 
84
83
  /// LLVM types
85
84
  typedef llvm::StructType StructType;
@@ -92,8 +91,8 @@ typedef llvm::DataLayout DataLayout;
92
91
 
93
92
  /// LLVM Aliases and constants
94
93
  typedef llvm::Argument Argument;
95
- typedef llvm::Constant Constant;
96
94
  typedef llvm::ConstantData ConstantData;
95
+ typedef llvm::Constant Constant;
97
96
  typedef llvm::ConstantInt ConstantInt;
98
97
  typedef llvm::ConstantPointerNull ConstantPointerNull;
99
98
  typedef llvm::ConstantArray ConstantArray;
@@ -143,7 +142,7 @@ public:
143
142
  {
144
143
  }
145
144
 
146
- SVFFunction(Function* f): SVFValue(f->getName(),SVFValue::SVFFunc),
145
+ SVFFunction(Function* f): SVFValue(f->getName().str(),SVFValue::SVFFunc),
147
146
  isDecl(f->isDeclaration()), isIntri(f->isIntrinsic()), fun(f)
148
147
  {
149
148
  }
@@ -220,7 +220,7 @@ private:
220
220
  GNodeK kind; ///< Type of this SVFValue
221
221
  public:
222
222
  /// Constructor
223
- SVFValue(const llvm::StringRef& val, SVFValKind k): value(val), kind(k)
223
+ SVFValue(const std::string& val, SVFValKind k): value(val), kind(k)
224
224
  {
225
225
  }
226
226
 
@@ -222,7 +222,7 @@ inline CallSite getLLVMCallSite(const Instruction* inst)
222
222
  }
223
223
 
224
224
  /// Get the corresponding Function based on its name
225
- inline const SVFFunction* getFunction(StringRef name)
225
+ inline const SVFFunction* getFunction(std::string name)
226
226
  {
227
227
  Function* fun = nullptr;
228
228
  LLVMModuleSet* llvmModuleset = LLVMModuleSet::getLLVMModuleSet();
@@ -239,6 +239,21 @@ inline const SVFFunction* getFunction(StringRef name)
239
239
  return nullptr;
240
240
  }
241
241
 
242
+ /// Split into two substrings around the first occurrence of a separator string.
243
+ inline std::vector<std::string> split(const std::string& s, char seperator)
244
+ {
245
+ std::vector<std::string> output;
246
+ std::string::size_type prev_pos = 0, pos = 0;
247
+ while((pos = s.find(seperator, pos)) != std::string::npos)
248
+ {
249
+ std::string substring( s.substr(prev_pos, pos-prev_pos) );
250
+ output.push_back(substring);
251
+ prev_pos = ++pos;
252
+ }
253
+ output.push_back(s.substr(prev_pos, pos-prev_pos));
254
+ return output;
255
+ }
256
+
242
257
  /// find the unique defined global across multiple modules
243
258
  inline const Value* getGlobalRep(const Value* val)
244
259
  {
@@ -103,7 +103,7 @@ public:
103
103
  virtual bool runOnModule(Module& module);
104
104
 
105
105
  /// PTA name
106
- virtual inline StringRef getPassName() const
106
+ virtual inline std::string getPassName() const
107
107
  {
108
108
  return "WPAPass";
109
109
  }
@@ -26,8 +26,8 @@ Set<std::string> LockResultValidator::getStringArg(const Instruction* inst, unsi
26
26
  Set<std::string> strvec;
27
27
  return strvec;
28
28
  }
29
- const StringRef vthdcxtstring = cxtarray->getAsCString();
30
- return split(vthdcxtstring.str(), ',');
29
+ const std::string vthdcxtstring = cxtarray->getAsCString().str();
30
+ return split(vthdcxtstring, ',');
31
31
  }
32
32
 
33
33
  Set<std::string> &LockResultValidator::split(const std::string &s, char delim, Set<std::string> &elems)
@@ -78,8 +78,8 @@ std::vector<std::string> MTAResultValidator::getStringArg(const Instruction* ins
78
78
  std::vector<std::string> strvec;
79
79
  return strvec;
80
80
  }
81
- const StringRef vthdcxtstring = cxtarray->getAsCString();
82
- return split(vthdcxtstring.str(), ',');
81
+ const std::string vthdcxtstring = cxtarray->getAsCString().str();
82
+ return split(vthdcxtstring, ',');
83
83
  }
84
84
 
85
85
  CallStrCxt MTAResultValidator::getCxtArg(const Instruction* inst, unsigned int arg_num)
@@ -628,7 +628,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
628
628
  */
629
629
  if (funName.size() == 0)
630
630
  {
631
- virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
631
+ virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
632
632
  }
633
633
  else if (funName[0] == '~')
634
634
  {
@@ -644,7 +644,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
644
644
  */
645
645
  if (calleeName[0] == '~')
646
646
  {
647
- virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
647
+ virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
648
648
  }
649
649
  }
650
650
  else
@@ -655,7 +655,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
655
655
  */
656
656
  if (funName.compare(calleeName) == 0)
657
657
  {
658
- virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
658
+ virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
659
659
  }
660
660
  }
661
661
  }
@@ -966,7 +966,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
966
966
 
967
967
  if (const DIBasicType *bt = SVFUtil::dyn_cast<DIBasicType>(t))
968
968
  {
969
- ss << std::string(bt->getName());
969
+ ss << bt->getName().str();
970
970
  }
971
971
  else if (const DIDerivedType *dt = SVFUtil::dyn_cast<DIDerivedType>(t))
972
972
  {
@@ -1009,7 +1009,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
1009
1009
  }
1010
1010
  else if (dt->getTag() == dwarf::DW_TAG_typedef)
1011
1011
  {
1012
- ss << std::string(dt->getName()) << "->" << diTypeToStr(dt->getBaseType());
1012
+ ss << dt->getName().str() << "->" << diTypeToStr(dt->getBaseType());
1013
1013
  }
1014
1014
  }
1015
1015
  else if (const DICompositeType *ct = SVFUtil::dyn_cast<DICompositeType>(t))
@@ -1036,7 +1036,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
1036
1036
 
1037
1037
  if (ct->getName() != "")
1038
1038
  {
1039
- ss << std::string(ct->getName());
1039
+ ss << ct->getName().str();
1040
1040
  }
1041
1041
  else
1042
1042
  {
@@ -1050,7 +1050,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
1050
1050
  // It can also give a Subprogram type if the class just had non-virtual functions.
1051
1051
  if (const DISubprogram *sp = SVFUtil::dyn_cast<DISubprogram>(fields[i]))
1052
1052
  {
1053
- ss << std::string(sp->getName());
1053
+ ss << sp->getName().str();
1054
1054
  }
1055
1055
  else if (const DIDerivedType *mt = SVFUtil::dyn_cast<DIDerivedType>(fields[i]))
1056
1056
  {
@@ -1117,7 +1117,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
1117
1117
  ss << ")";
1118
1118
  }
1119
1119
 
1120
- ss << std::string(st->getName());
1120
+ ss << st->getName().str();
1121
1121
  }
1122
1122
 
1123
1123
  return ss.str();
@@ -291,9 +291,17 @@ void PTAStat::callgraphStat()
291
291
  void PTAStat::printStat(string statname)
292
292
  {
293
293
 
294
- StringRef fullName(SymbolTableInfo::SymbolInfo()->getModule()->getModuleIdentifier());
295
- StringRef name = fullName.split('/').second;
296
- moduleName = name.split('.').first.str();
294
+ std::string moduleName(SymbolTableInfo::SymbolInfo()->getModule()->getModuleIdentifier());
295
+ std::vector<std::string> names = SVFUtil::split(moduleName,'/');
296
+ if (names.size() > 1)
297
+ {
298
+ moduleName = names[1];
299
+ names = SVFUtil::split(moduleName,'.');
300
+ if (names.size() > 0)
301
+ {
302
+ moduleName = names[0];
303
+ }
304
+ }
297
305
 
298
306
  SVFUtil::outs() << "\n*********" << statname << "***************\n";
299
307
  SVFUtil::outs() << "################ (program : " << moduleName << ")###############\n";
@@ -293,16 +293,16 @@ std::string SVFUtil::getSourceLoc(const Value* val)
293
293
  llvm::DILocation* Loc = SVFUtil::cast<llvm::DILocation>(N); // DILocation is in DebugInfo.h
294
294
  unsigned Line = Loc->getLine();
295
295
  unsigned Column = Loc->getColumn();
296
- StringRef File = Loc->getFilename();
296
+ std::string File = Loc->getFilename().str();
297
297
  //StringRef Dir = Loc.getDirectory();
298
- if(File.str().empty() || Line == 0)
298
+ if(File.empty() || Line == 0)
299
299
  {
300
300
  auto inlineLoc = Loc->getInlinedAt();
301
301
  if(inlineLoc)
302
302
  {
303
303
  Line = inlineLoc->getLine();
304
304
  Column = inlineLoc->getColumn();
305
- File = inlineLoc->getFilename();
305
+ File = inlineLoc->getFilename().str();
306
306
  }
307
307
  }
308
308
  rawstr << "ln: " << Line << " cl: " << Column << " fl: " << File;
@@ -317,10 +317,18 @@ void ThreadAPI::performAPIStat(SVFModule* module)
317
317
 
318
318
  }
319
319
 
320
- StringRef n(module->getModuleIdentifier());
321
- StringRef name = n.split('/').second;
322
- name = name.split('.').first;
323
- SVFUtil::outs() << "################ (program : " << name.str()
320
+ std::string name(module->getModuleIdentifier());
321
+ std::vector<std::string> fullNames = SVFUtil::split(name,'/');
322
+ if (fullNames.size() > 1)
323
+ {
324
+ name = fullNames[1];
325
+ fullNames = SVFUtil::split(name,'.');
326
+ if (fullNames.size() > 0 )
327
+ {
328
+ name = fullNames[0];
329
+ }
330
+ }
331
+ SVFUtil::outs() << "################ (program : " << name
324
332
  << ")###############\n";
325
333
  SVFUtil::outs().flags(std::ios::left);
326
334
  unsigned field_width = 20;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.458",
3
+ "version": "1.0.459",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {