svf-tools 1.0.769 → 1.0.770

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 (445) hide show
  1. package/SVF-doxygen/html/html/AddressValue_8h_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/CFGrammar_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +9 -9
  6. package/SVF-doxygen/html/html/CommandLine_8h_source.html +1 -1
  7. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  8. package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  15. package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
  17. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +60 -67
  18. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +9 -9
  19. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  20. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/IntervalValue_8h_source.html +1 -1
  24. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +16 -16
  25. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1107 -1110
  26. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +45 -46
  27. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  31. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +1 -1
  32. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/RelExeState_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +7 -7
  44. package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +10 -11
  45. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/SVFType_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/SVFUtil_8h.html +0 -12
  50. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +300 -333
  51. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +1 -1
  52. package/SVF-doxygen/html/html/SVFValue_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  54. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
  55. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
  57. package/SVF-doxygen/html/html/SymState_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
  59. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +50 -60
  60. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -3
  61. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
  63. package/SVF-doxygen/html/html/cJSON_8cpp.html +3 -2
  64. package/SVF-doxygen/html/html/cJSON_8cpp_source.html +3 -2
  65. package/SVF-doxygen/html/html/classOption.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +9 -9
  79. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +51 -56
  96. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +3 -3
  102. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
  104. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +16 -16
  112. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
  120. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1RelExeState.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +16 -17
  140. package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +24 -24
  144. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1SymState.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +49 -59
  151. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +1 -1
  162. package/SVF-doxygen/html/html/extapi_8c.html +1487 -302
  163. package/SVF-doxygen/html/html/extapi_8c_source.html +1120 -1164
  164. package/SVF-doxygen/html/html/functions_func_h.html +1 -1
  165. package/SVF-doxygen/html/html/functions_h.html +1 -1
  166. package/SVF-doxygen/html/html/globals.html +20 -2
  167. package/SVF-doxygen/html/html/globals_a.html +3 -0
  168. package/SVF-doxygen/html/html/globals_b.html +10 -4
  169. package/SVF-doxygen/html/html/globals_c.html +8 -4
  170. package/SVF-doxygen/html/html/globals_d.html +9 -0
  171. package/SVF-doxygen/html/html/globals_defs.html +3 -0
  172. package/SVF-doxygen/html/html/globals_func.html +18 -399
  173. package/SVF-doxygen/html/html/globals_func_a.html +91 -0
  174. package/SVF-doxygen/html/html/globals_func_b.html +14 -20
  175. package/SVF-doxygen/html/html/globals_func_c.html +16 -849
  176. package/SVF-doxygen/html/html/globals_func_d.html +14 -275
  177. package/SVF-doxygen/html/html/globals_func_e.html +8 -97
  178. package/SVF-doxygen/html/html/globals_func_f.html +17 -20
  179. package/SVF-doxygen/html/html/globals_func_g.html +72 -25
  180. package/SVF-doxygen/html/html/globals_func_h.html +9 -6
  181. package/SVF-doxygen/html/html/globals_func_i.html +49 -31
  182. package/SVF-doxygen/html/html/globals_func_j.html +79 -0
  183. package/SVF-doxygen/html/html/globals_func_l.html +15 -9
  184. package/SVF-doxygen/html/html/globals_func_m.html +13 -87
  185. package/SVF-doxygen/html/html/globals_func_n.html +79 -0
  186. package/SVF-doxygen/html/html/globals_func_p.html +13 -22
  187. package/SVF-doxygen/html/html/globals_func_r.html +16 -28
  188. package/SVF-doxygen/html/html/globals_func_s.html +32 -128
  189. package/SVF-doxygen/html/html/globals_func_t.html +18 -9
  190. package/SVF-doxygen/html/html/globals_func_u.html +8 -18
  191. package/SVF-doxygen/html/html/globals_func_w.html +8 -5
  192. package/SVF-doxygen/html/html/globals_func_z.html +10 -73
  193. package/SVF-doxygen/html/html/globals_g.html +54 -0
  194. package/SVF-doxygen/html/html/globals_l.html +6 -0
  195. package/SVF-doxygen/html/html/globals_n.html +5 -2
  196. package/SVF-doxygen/html/html/globals_p.html +4 -1
  197. package/SVF-doxygen/html/html/globals_r.html +11 -8
  198. package/SVF-doxygen/html/html/globals_s.html +6 -0
  199. package/SVF-doxygen/html/html/globals_t.html +6 -0
  200. package/SVF-doxygen/html/html/globals_z.html +3 -0
  201. package/SVF-doxygen/html/html/iterator_8h_source.html +1 -1
  202. package/SVF-doxygen/html/html/iterator__range_8h_source.html +1 -1
  203. package/SVF-doxygen/html/html/menudata.js +20 -17
  204. package/SVF-doxygen/html/html/namespaceSVF.html +1 -1
  205. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +981 -984
  206. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +206 -383
  207. package/SVF-doxygen/html/html/namespacemembers_func_i.html +2 -11
  208. package/SVF-doxygen/html/html/namespacemembers_i.html +5 -14
  209. package/SVF-doxygen/html/html/search/all_0.js +158 -152
  210. package/SVF-doxygen/html/html/search/all_1.js +478 -477
  211. package/SVF-doxygen/html/html/search/all_10.js +324 -323
  212. package/SVF-doxygen/html/html/search/all_11.js +213 -212
  213. package/SVF-doxygen/html/html/search/all_12.js +539 -537
  214. package/SVF-doxygen/html/html/search/all_13.js +190 -188
  215. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  216. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  217. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  218. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  219. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  220. package/SVF-doxygen/html/html/search/all_19.js +11 -10
  221. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  222. package/SVF-doxygen/html/html/search/all_2.js +161 -159
  223. package/SVF-doxygen/html/html/search/all_3.js +628 -627
  224. package/SVF-doxygen/html/html/search/all_4.js +229 -226
  225. package/SVF-doxygen/html/html/search/all_5.js +117 -117
  226. package/SVF-doxygen/html/html/search/all_6.js +224 -224
  227. package/SVF-doxygen/html/html/search/all_7.js +1020 -1002
  228. package/SVF-doxygen/html/html/search/all_8.js +191 -191
  229. package/SVF-doxygen/html/html/search/all_9.js +602 -605
  230. package/SVF-doxygen/html/html/search/all_a.js +46 -46
  231. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  232. package/SVF-doxygen/html/html/search/all_c.js +116 -114
  233. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  234. package/SVF-doxygen/html/html/search/all_e.js +206 -205
  235. package/SVF-doxygen/html/html/search/all_f.js +116 -116
  236. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  237. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  238. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  239. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  240. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  241. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  242. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  243. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  244. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  245. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  246. package/SVF-doxygen/html/html/search/classes_4.js +8 -8
  247. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  248. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  249. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  250. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  251. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  252. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  253. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  254. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  255. package/SVF-doxygen/html/html/search/classes_d.js +18 -18
  256. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  257. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  258. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  259. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  260. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  261. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  262. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  263. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  264. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  265. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  266. package/SVF-doxygen/html/html/search/defines_8.js +11 -11
  267. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  268. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  269. package/SVF-doxygen/html/html/search/defines_b.js +1 -1
  270. package/SVF-doxygen/html/html/search/defines_c.js +3 -3
  271. package/SVF-doxygen/html/html/search/defines_d.js +2 -2
  272. package/SVF-doxygen/html/html/search/defines_e.js +7 -6
  273. package/SVF-doxygen/html/html/search/defines_f.js +3 -3
  274. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  275. package/SVF-doxygen/html/html/search/enums_1.js +2 -2
  276. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  277. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  278. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  279. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  280. package/SVF-doxygen/html/html/search/enums_4.js +3 -3
  281. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  282. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  283. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  284. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  285. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  286. package/SVF-doxygen/html/html/search/enums_a.js +1 -1
  287. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  288. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  289. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  290. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  291. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  292. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  293. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
  294. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  295. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  296. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  297. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  298. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  299. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  300. package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
  301. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  302. package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
  303. package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
  304. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  305. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  306. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  307. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  308. package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
  309. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  310. package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
  311. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
  312. package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
  313. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  314. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  315. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  316. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  317. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  318. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  319. package/SVF-doxygen/html/html/search/files_2.js +49 -49
  320. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  321. package/SVF-doxygen/html/html/search/files_4.js +5 -5
  322. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  323. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  324. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  325. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  326. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  327. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  328. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  329. package/SVF-doxygen/html/html/search/files_c.js +20 -20
  330. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  331. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  332. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  333. package/SVF-doxygen/html/html/search/functions_0.js +12 -6
  334. package/SVF-doxygen/html/html/search/functions_1.js +350 -349
  335. package/SVF-doxygen/html/html/search/functions_10.js +140 -139
  336. package/SVF-doxygen/html/html/search/functions_11.js +127 -126
  337. package/SVF-doxygen/html/html/search/functions_12.js +275 -274
  338. package/SVF-doxygen/html/html/search/functions_13.js +58 -56
  339. package/SVF-doxygen/html/html/search/functions_14.js +38 -38
  340. package/SVF-doxygen/html/html/search/functions_15.js +71 -71
  341. package/SVF-doxygen/html/html/search/functions_16.js +29 -29
  342. package/SVF-doxygen/html/html/search/functions_17.js +3 -2
  343. package/SVF-doxygen/html/html/search/functions_18.js +169 -169
  344. package/SVF-doxygen/html/html/search/functions_2.js +84 -82
  345. package/SVF-doxygen/html/html/search/functions_3.js +253 -252
  346. package/SVF-doxygen/html/html/search/functions_4.js +74 -71
  347. package/SVF-doxygen/html/html/search/functions_5.js +51 -51
  348. package/SVF-doxygen/html/html/search/functions_6.js +58 -58
  349. package/SVF-doxygen/html/html/search/functions_7.js +840 -822
  350. package/SVF-doxygen/html/html/search/functions_8.js +143 -143
  351. package/SVF-doxygen/html/html/search/functions_9.js +422 -425
  352. package/SVF-doxygen/html/html/search/functions_a.js +30 -30
  353. package/SVF-doxygen/html/html/search/functions_b.js +2 -2
  354. package/SVF-doxygen/html/html/search/functions_c.js +26 -24
  355. package/SVF-doxygen/html/html/search/functions_d.js +77 -77
  356. package/SVF-doxygen/html/html/search/functions_e.js +35 -34
  357. package/SVF-doxygen/html/html/search/functions_f.js +56 -56
  358. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  359. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  360. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  361. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  362. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  363. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  364. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  365. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  366. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  367. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  368. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  369. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  370. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  371. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  372. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  373. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  374. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  375. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  376. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  377. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  378. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  379. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  380. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  381. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  382. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  383. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  384. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  385. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  386. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  387. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  388. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  389. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  390. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  391. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  392. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  393. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  394. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  395. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  396. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  397. package/SVF-doxygen/html/html/search/variables_0.js +147 -147
  398. package/SVF-doxygen/html/html/search/variables_1.js +75 -75
  399. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  400. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  401. package/SVF-doxygen/html/html/search/variables_12.js +92 -92
  402. package/SVF-doxygen/html/html/search/variables_13.js +75 -75
  403. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  404. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  405. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  406. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  407. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  408. package/SVF-doxygen/html/html/search/variables_2.js +34 -34
  409. package/SVF-doxygen/html/html/search/variables_3.js +141 -141
  410. package/SVF-doxygen/html/html/search/variables_4.js +55 -55
  411. package/SVF-doxygen/html/html/search/variables_5.js +38 -38
  412. package/SVF-doxygen/html/html/search/variables_6.js +66 -66
  413. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  414. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  415. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  416. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  417. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  418. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  419. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  420. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  421. package/SVF-doxygen/html/html/search/variables_f.js +30 -30
  422. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  423. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable.html +1 -1
  424. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html +1 -1
  425. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map.html +1 -1
  426. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  427. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  428. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container.html +1 -1
  429. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  430. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  431. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  432. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set.html +1 -1
  433. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  434. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
  435. package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1make__void.html +2 -2
  436. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  437. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  438. package/package.json +1 -1
  439. package/svf/include/Util/SVFUtil.h +0 -34
  440. package/svf/lib/Util/ExtAPI.cpp +0 -6
  441. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +2 -2
  442. package/svf-llvm/lib/LLVMUtil.cpp +0 -2
  443. package/svf-llvm/lib/SVFIRExtAPI.cpp +1 -1
  444. package/svf-llvm/lib/SymbolTableBuilder.cpp +0 -9
  445. package/svf-llvm/lib/extapi.c +210 -295
@@ -371,331 +371,302 @@ $(function() {
371
371
  <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;}</div>
372
372
  <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; </div>
373
373
  <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; </div>
374
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">isStaticExtFun</a>(<span class="keyword">const</span> SVFFunction* fun)</div>
374
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">isProgEntryFunction</a>(<span class="keyword">const</span> SVFFunction* fun)</div>
375
375
  <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;{</div>
376
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; <a class="code" href="classSVF_1_1ExtAPI.html#a02380d22fd6021ebce1e54723d695c99">ExtAPI::getExtAPI</a>()-&gt;<a class="code" href="classSVF_1_1ExtAPI.html#ae20ea24cce02de87d89a2d0b773a2357">has_static</a>(fun);</div>
376
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; fun-&gt;getName() == <span class="stringliteral">&quot;main&quot;</span>;</div>
377
377
  <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;}</div>
378
378
  <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
379
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; </div>
380
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">isProgEntryFunction</a>(<span class="keyword">const</span> SVFFunction* fun)</div>
381
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;{</div>
382
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; fun-&gt;getName() == <span class="stringliteral">&quot;main&quot;</span>;</div>
383
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;}</div>
384
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; </div>
385
- <div class="line"><a name="l00370"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604"> 370</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604">getProgFunction</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule, <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; funName)</div>
386
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;{</div>
387
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> it = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eit = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); it != eit; ++it)</div>
388
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div>
389
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *it;</div>
390
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>()==funName)</div>
391
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> fun;</div>
392
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
393
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
394
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;}</div>
395
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; </div>
396
- <div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266"> 382</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">getProgEntryFunction</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule)</div>
397
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div>
398
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> it = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eit = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); it != eit; ++it)</div>
399
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; {</div>
400
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *it;</div>
401
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">isProgEntryFunction</a>(fun))</div>
402
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">return</span> (fun);</div>
403
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; }</div>
404
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
405
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;}</div>
406
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; </div>
407
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; </div>
408
- <div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57"> 395</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * fun)</div>
379
+ <div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604"> 362</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604">getProgFunction</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule, <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; funName)</div>
380
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;{</div>
381
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> it = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eit = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); it != eit; ++it)</div>
382
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; {</div>
383
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *it;</div>
384
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> (fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>()==funName)</div>
385
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keywordflow">return</span> fun;</div>
386
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; }</div>
387
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
388
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;}</div>
389
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
390
+ <div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266"> 374</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">getProgEntryFunction</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule)</div>
391
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;{</div>
392
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> it = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eit = svfModule-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); it != eit; ++it)</div>
393
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
394
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *it;</div>
395
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">isProgEntryFunction</a>(fun))</div>
396
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keywordflow">return</span> (fun);</div>
397
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
398
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
399
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;}</div>
400
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
401
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
402
+ <div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57"> 387</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * fun)</div>
403
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;{</div>
404
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; (fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;exit&quot;</span> ||</div>
405
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;__assert_rtn&quot;</span> ||</div>
406
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;__assert_fail&quot;</span> );</div>
407
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;}</div>
408
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; </div>
409
+ <div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb"> 395</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb">isArgOfUncalledFunction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* svfval)</div>
409
410
  <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;{</div>
410
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> fun &amp;&amp; (fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;exit&quot;</span> ||</div>
411
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;__assert_rtn&quot;</span> ||</div>
412
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; fun-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>() == <span class="stringliteral">&quot;__assert_fail&quot;</span> );</div>
413
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;}</div>
414
- <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
415
- <div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb"> 403</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb">isArgOfUncalledFunction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* svfval)</div>
416
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;{</div>
417
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* arg = SVFUtil::dyn_cast&lt;SVFArgument&gt;(svfval))</div>
418
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> arg-&gt;isArgOfUncalledFunction();</div>
419
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">else</span></div>
420
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
421
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;}</div>
422
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; </div>
423
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; </div>
424
- <div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab"> 413</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">getForkedFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
425
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;{</div>
426
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(cs);</div>
427
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;}</div>
428
- <div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a40f4fe34203246d99a565930d1240c15"> 417</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">getForkedFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
429
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div>
430
- <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(inst);</div>
431
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div>
432
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; </div>
433
- <div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2"> 424</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2">isAnAllocationWraper</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>*)</div>
434
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;{</div>
435
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
436
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;}</div>
437
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; </div>
438
- <div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aad27a96075234ad2182a84e0e9d31a45"> 429</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
439
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;{</div>
440
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
441
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;}</div>
442
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; </div>
443
- <div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#af2979f019d38f3faa5c82c6ddc688b51"> 434</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
444
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;{</div>
445
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
446
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;}</div>
447
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; </div>
448
- <div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76"> 439</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
449
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;{</div>
450
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
451
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;}</div>
452
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; </div>
453
- <div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ac77155f7e19d92292f52944d3fb32277"> 444</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
454
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;{</div>
455
- <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
456
- <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160;}</div>
457
- <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; </div>
458
- <div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35"> 450</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
459
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160;{</div>
460
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordtype">bool</span> isPtrTy = cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
461
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
462
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;}</div>
463
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; </div>
464
- <div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a9f9b3296d2ce69346ac694ad6b04f2b0"> 456</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
465
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;{</div>
466
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordtype">bool</span> isPtrTy = inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
467
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
468
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;}</div>
469
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; </div>
470
- <div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75"> 462</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
471
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;{</div>
472
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(cs);</div>
473
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div>
474
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; </div>
475
- <div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a07400bf7b1f50875f3e5123d13cff880"> 467</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
476
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div>
477
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(inst) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(inst);</div>
478
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;}</div>
479
- <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; </div>
480
- <div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a298b6366145ed871faf3d01420ae5d20"> 473</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
481
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;{</div>
482
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
483
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;}</div>
484
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; </div>
485
- <div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6d613bcc37e54b922ad1b1869b66ee59"> 478</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
486
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;{</div>
487
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
488
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160;}</div>
489
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; </div>
490
- <div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46"> 484</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">isReallocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
491
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160;{</div>
492
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordtype">bool</span> isPtrTy = cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
493
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
494
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;}</div>
495
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
496
- <div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a21eb8acf4b7f876507ff02c65fff0869"> 490</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">isReallocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
497
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;{</div>
498
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordtype">bool</span> isPtrTy = inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
499
- <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
411
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* arg = SVFUtil::dyn_cast&lt;SVFArgument&gt;(svfval))</div>
412
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> arg-&gt;isArgOfUncalledFunction();</div>
413
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">else</span></div>
414
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
415
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;}</div>
416
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; </div>
417
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
418
+ <div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab"> 405</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">getForkedFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
419
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;{</div>
420
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(cs);</div>
421
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;}</div>
422
+ <div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a40f4fe34203246d99a565930d1240c15"> 409</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">getForkedFun</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
423
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;{</div>
424
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(inst);</div>
425
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;}</div>
426
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; </div>
427
+ <div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2"> 416</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2">isAnAllocationWraper</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>*)</div>
428
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;{</div>
429
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
430
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;}</div>
431
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; </div>
432
+ <div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aad27a96075234ad2182a84e0e9d31a45"> 421</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
433
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;{</div>
434
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
435
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</div>
436
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; </div>
437
+ <div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#af2979f019d38f3faa5c82c6ddc688b51"> 426</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
438
+ <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160;{</div>
439
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
440
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;}</div>
441
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; </div>
442
+ <div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76"> 431</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
443
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;{</div>
444
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
445
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;}</div>
446
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; </div>
447
+ <div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ac77155f7e19d92292f52944d3fb32277"> 436</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
448
+ <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;{</div>
449
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
450
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;}</div>
451
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; </div>
452
+ <div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35"> 442</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
453
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;{</div>
454
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keywordtype">bool</span> isPtrTy = cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
455
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
456
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;}</div>
457
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; </div>
458
+ <div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a9f9b3296d2ce69346ac694ad6b04f2b0"> 448</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
459
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;{</div>
460
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordtype">bool</span> isPtrTy = inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
461
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
462
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
463
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; </div>
464
+ <div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75"> 454</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
465
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;{</div>
466
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(cs);</div>
467
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;}</div>
468
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; </div>
469
+ <div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a07400bf7b1f50875f3e5123d13cff880"> 459</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
470
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;{</div>
471
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">isHeapAllocExtCallViaRet</a>(inst) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">isHeapAllocExtCallViaArg</a>(inst);</div>
472
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160;}</div>
473
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; </div>
474
+ <div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a298b6366145ed871faf3d01420ae5d20"> 465</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
475
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;{</div>
476
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
477
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;}</div>
478
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; </div>
479
+ <div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6d613bcc37e54b922ad1b1869b66ee59"> 470</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
480
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;{</div>
481
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
482
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160;}</div>
483
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; </div>
484
+ <div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46"> 476</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">isReallocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
485
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;{</div>
486
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordtype">bool</span> isPtrTy = cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
487
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
488
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160;}</div>
489
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; </div>
490
+ <div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a21eb8acf4b7f876507ff02c65fff0869"> 482</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">isReallocExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
491
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;{</div>
492
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <span class="keywordtype">bool</span> isPtrTy = inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
493
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
494
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;}</div>
495
+ <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; </div>
496
+ <div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0"> 491</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">isThreadForkCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
497
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;{</div>
498
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(cs);</div>
500
499
  <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;}</div>
501
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; </div>
502
- <div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf"> 497</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">isStaticExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
503
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;{</div>
504
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keywordtype">bool</span> isPtrTy = cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
505
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">isStaticExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
506
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;}</div>
507
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; </div>
508
- <div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a9236e11e62bde33d6ab1f309300c488a"> 503</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">isStaticExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
500
+ <div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ae3abb438b0182c32abfbd6a625a24041"> 495</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">isThreadForkCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
501
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160;{</div>
502
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(inst);</div>
503
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;}</div>
504
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; </div>
505
+ <div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb"> 503</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">isHareParForCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
509
506
  <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;{</div>
510
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordtype">bool</span> isPtrTy = inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-&gt;<a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>();</div>
511
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> isPtrTy &amp;&amp; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">isStaticExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
512
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;}</div>
513
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; </div>
514
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; </div>
515
- <div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a61ed4bb80d88b0f8dbc02535c224fdfb"> 512</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a61ed4bb80d88b0f8dbc02535c224fdfb">isHeapAllocOrStaticExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
516
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;{</div>
517
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">isStaticExtCall</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs);</div>
518
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;}</div>
519
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; </div>
520
- <div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a06b824671e2fab0e41a6b84ee9bd8362"> 517</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a61ed4bb80d88b0f8dbc02535c224fdfb">isHeapAllocOrStaticExtCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
521
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;{</div>
522
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">isStaticExtCall</a>(inst) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(inst);</div>
523
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;}</div>
524
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; </div>
525
- <div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0"> 525</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">isThreadForkCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
526
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;{</div>
527
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(cs);</div>
528
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;}</div>
529
- <div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ae3abb438b0182c32abfbd6a625a24041"> 529</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">isThreadForkCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
530
- <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;{</div>
531
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(inst);</div>
532
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;}</div>
533
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; </div>
534
- <div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb"> 537</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">isHareParForCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
535
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;{</div>
536
- <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(cs);</div>
537
- <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;}</div>
538
- <div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad8340531cfb109c792de4edee34d44db"> 541</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">isHareParForCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
539
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;{</div>
540
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(inst);</div>
541
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;}</div>
542
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; </div>
543
- <div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a"> 549</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">isThreadJoinCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
544
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;{</div>
545
- <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(cs);</div>
546
- <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;}</div>
547
- <div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad96e4550fca39e3edb362326a4cf1913"> 553</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">isThreadJoinCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
548
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;{</div>
549
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst);</div>
550
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;}</div>
551
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; </div>
552
- <div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5"> 561</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">isThreadExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
553
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160;{</div>
554
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a3e175d985de53d0aadb026168e8a1a0e">isTDExit</a>(cs);</div>
555
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;}</div>
556
- <div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a916f308f05ef0711f0aa32a8e6f96986"> 565</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">isThreadExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
557
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;{</div>
558
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a3e175d985de53d0aadb026168e8a1a0e">isTDExit</a>(inst);</div>
559
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;}</div>
560
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; </div>
561
- <div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2"> 573</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">isLockAquireCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
562
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;{</div>
563
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a742161b465774d74306df68a2bbe95e8">isTDAcquire</a>(cs);</div>
564
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;}</div>
565
- <div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a9cf550008fb5f051983003ee105738b1"> 577</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">isLockAquireCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
566
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;{</div>
567
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a742161b465774d74306df68a2bbe95e8">isTDAcquire</a>(inst);</div>
568
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;}</div>
569
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; </div>
570
- <div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9"> 585</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">isLockReleaseCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
571
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;{</div>
572
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a1d5c84fd83e120820bfb3458e0231fdf">isTDRelease</a>(cs);</div>
573
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;}</div>
574
- <div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5b17fb3f5997e269938a368105592cbf"> 589</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">isLockReleaseCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
575
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;{</div>
576
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a1d5c84fd83e120820bfb3458e0231fdf">isTDRelease</a>(inst);</div>
577
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;}</div>
578
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; </div>
507
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(cs);</div>
508
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;}</div>
509
+ <div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad8340531cfb109c792de4edee34d44db"> 507</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">isHareParForCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
510
+ <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160;{</div>
511
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(inst);</div>
512
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;}</div>
513
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; </div>
514
+ <div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a"> 515</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">isThreadJoinCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
515
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;{</div>
516
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(cs);</div>
517
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;}</div>
518
+ <div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad96e4550fca39e3edb362326a4cf1913"> 519</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">isThreadJoinCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
519
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;{</div>
520
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst);</div>
521
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;}</div>
522
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; </div>
523
+ <div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5"> 527</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">isThreadExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
524
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;{</div>
525
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a3e175d985de53d0aadb026168e8a1a0e">isTDExit</a>(cs);</div>
526
+ <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;}</div>
527
+ <div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a916f308f05ef0711f0aa32a8e6f96986"> 531</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">isThreadExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
528
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;{</div>
529
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a3e175d985de53d0aadb026168e8a1a0e">isTDExit</a>(inst);</div>
530
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160;}</div>
531
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; </div>
532
+ <div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2"> 539</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">isLockAquireCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
533
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;{</div>
534
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a742161b465774d74306df68a2bbe95e8">isTDAcquire</a>(cs);</div>
535
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;}</div>
536
+ <div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a9cf550008fb5f051983003ee105738b1"> 543</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">isLockAquireCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
537
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;{</div>
538
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a742161b465774d74306df68a2bbe95e8">isTDAcquire</a>(inst);</div>
539
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;}</div>
540
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; </div>
541
+ <div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9"> 551</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">isLockReleaseCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
542
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;{</div>
543
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a1d5c84fd83e120820bfb3458e0231fdf">isTDRelease</a>(cs);</div>
544
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160;}</div>
545
+ <div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5b17fb3f5997e269938a368105592cbf"> 555</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">isLockReleaseCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
546
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160;{</div>
547
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a1d5c84fd83e120820bfb3458e0231fdf">isTDRelease</a>(inst);</div>
548
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160;}</div>
549
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; </div>
550
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; </div>
551
+ <div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a"> 563</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">isBarrierWaitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
552
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;{</div>
553
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a62a5d4709eb9f1e4e9dd20b87dac8c42">isTDBarWait</a>(cs);</div>
554
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;}</div>
555
+ <div class="line"><a name="l00567"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ae9a7f272f037cda8dffa225606625398"> 567</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">isBarrierWaitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
556
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;{</div>
557
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a62a5d4709eb9f1e4e9dd20b87dac8c42">isTDBarWait</a>(inst);</div>
558
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;}</div>
559
+ <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; </div>
560
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; </div>
561
+ <div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500"> 575</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">getActualParmAtForkSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
562
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160;{</div>
563
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ae63bd645cca6c9681fa1383cbbf08c94">getActualParmAtForkSite</a>(cs);</div>
564
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;}</div>
565
+ <div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#abf35d3e0f808fbb5921f9a8d89cb8015"> 579</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">getActualParmAtForkSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
566
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;{</div>
567
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ae63bd645cca6c9681fa1383cbbf08c94">getActualParmAtForkSite</a>(inst);</div>
568
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;}</div>
569
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; </div>
570
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; </div>
571
+ <div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f"> 587</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">getTaskFuncAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
572
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160;{</div>
573
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(cs);</div>
574
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;}</div>
575
+ <div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa45cda6380bdd53ba88268aa8cf336e5"> 591</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">getTaskFuncAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
576
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160;{</div>
577
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(inst);</div>
578
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;}</div>
579
579
  <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; </div>
580
- <div class="line"><a name="l00597"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a"> 597</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">isBarrierWaitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
581
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;{</div>
582
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a62a5d4709eb9f1e4e9dd20b87dac8c42">isTDBarWait</a>(cs);</div>
583
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;}</div>
584
- <div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ae9a7f272f037cda8dffa225606625398"> 601</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">isBarrierWaitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
585
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;{</div>
586
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a62a5d4709eb9f1e4e9dd20b87dac8c42">isTDBarWait</a>(inst);</div>
587
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;}</div>
588
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; </div>
580
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; </div>
581
+ <div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2"> 599</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">getTaskDataAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
582
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160;{</div>
583
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a8c6617f2df59ff166b13242060707013">getTaskDataAtHareParForSite</a>(cs);</div>
584
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;}</div>
585
+ <div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a4ace2d63934e97fd8b8dbbdf378c534c"> 603</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">getTaskDataAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
586
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;{</div>
587
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a8c6617f2df59ff166b13242060707013">getTaskDataAtHareParForSite</a>(inst);</div>
588
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;}</div>
589
589
  <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; </div>
590
- <div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500"> 609</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">getActualParmAtForkSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
590
+ <div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4"> 609</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">isProgExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
591
591
  <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;{</div>
592
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ae63bd645cca6c9681fa1383cbbf08c94">getActualParmAtForkSite</a>(cs);</div>
592
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
593
593
  <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;}</div>
594
- <div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#abf35d3e0f808fbb5921f9a8d89cb8015"> 613</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">getActualParmAtForkSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
595
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160;{</div>
596
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ae63bd645cca6c9681fa1383cbbf08c94">getActualParmAtForkSite</a>(inst);</div>
597
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;}</div>
594
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; </div>
595
+ <div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a81e9fe00756a3f42395261c87e64de02"> 614</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">isProgExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
596
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;{</div>
597
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
598
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;}</div>
598
599
  <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; </div>
599
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; </div>
600
- <div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f"> 621</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">getTaskFuncAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
600
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
601
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;constexpr <span class="keyword">typename</span> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">std::remove_reference&lt;T&gt;::type</a> &amp;&amp;</div>
602
+ <div class="line"><a name="l00621"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016"> 621</a></span>&#160;<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(T &amp;&amp;t) noexcept</div>
601
603
  <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;{</div>
602
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(cs);</div>
604
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(t);</div>
603
605
  <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;}</div>
604
- <div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa45cda6380bdd53ba88268aa8cf336e5"> 625</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">getTaskFuncAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
605
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160;{</div>
606
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(inst);</div>
607
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;}</div>
608
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; </div>
606
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; </div>
607
+ <div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1make__void.html"> 627</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html">make_void</a></div>
608
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;{</div>
609
+ <div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36"> 629</a></span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36">type</a>;</div>
610
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;};</div>
611
+ <div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06"> 631</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">using</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">void_t</a> = <span class="keyword">typename</span> <a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html">make_void</a>&lt;Ts...&gt;<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">::type</a>;</div>
609
612
  <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; </div>
610
- <div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2"> 633</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">getTaskDataAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
611
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;{</div>
612
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a8c6617f2df59ff166b13242060707013">getTaskDataAtHareParForSite</a>(cs);</div>
613
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;}</div>
614
- <div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a4ace2d63934e97fd8b8dbbdf378c534c"> 637</a></span>&#160;<span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">getTaskDataAtHareParForSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
615
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;{</div>
616
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;<a class="code" href="classSVF_1_1ThreadAPI.html#a8c6617f2df59ff166b13242060707013">getTaskDataAtHareParForSite</a>(inst);</div>
617
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;}</div>
618
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; </div>
619
- <div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4"> 643</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">isProgExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs)</div>
620
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;{</div>
621
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(cs));</div>
622
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160;}</div>
623
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; </div>
624
- <div class="line"><a name="l00648"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a81e9fe00756a3f42395261c87e64de02"> 648</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">isProgExitCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *inst)</div>
625
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160;{</div>
626
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst));</div>
627
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;}</div>
613
+ <div class="line"><a name="l00636"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__iterable.html"> 636</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keywordtype">void</span>&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable</a> : std::false_type {};</div>
614
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
615
+ <div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html"> 638</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable</a>&lt;T, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">void_t</a>&lt;decltype(std::begin(std::declval&lt;T&amp;&gt;()) !=</div>
616
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; std::end(std::declval&lt;T&amp;&gt;()))&gt;&gt;</div>
617
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160;: std::true_type {};</div>
618
+ <div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588"> 641</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588">is_iterable_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable&lt;T&gt;::value</a>;</div>
619
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; </div>
620
+ <div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map.html"> 646</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a> : std::false_type {};</div>
621
+ <div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html"> 647</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;std::map&lt;Ts...&gt;&gt; : std::true_type {};</div>
622
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
623
+ <div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html"> 649</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;std::unordered_map&lt;Ts...&gt;&gt; : std::true_type {};</div>
624
+ <div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5"> 650</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5">is_map_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;Ts...&gt;::value;</div>
628
625
  <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; </div>
629
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
630
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;constexpr <span class="keyword">typename</span> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">std::remove_reference&lt;T&gt;::type</a> &amp;&amp;</div>
631
- <div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016"> 655</a></span>&#160;<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">move</a>(T &amp;&amp;t) noexcept</div>
632
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;{</div>
633
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(t);</div>
634
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;}</div>
635
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; </div>
636
- <div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1make__void.html"> 661</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html">make_void</a></div>
637
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160;{</div>
638
- <div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36"> 663</a></span>&#160; <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36">type</a>;</div>
639
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;};</div>
640
- <div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06"> 665</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">using</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">void_t</a> = <span class="keyword">typename</span> <a class="code" href="structSVF_1_1SVFUtil_1_1make__void.html">make_void</a>&lt;Ts...&gt;<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">::type</a>;</div>
641
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; </div>
642
- <div class="line"><a name="l00670"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__iterable.html"> 670</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> = <span class="keywordtype">void</span>&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable</a> : std::false_type {};</div>
643
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
644
- <div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html"> 672</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable</a>&lt;T, <a class="code" href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">void_t</a>&lt;decltype(std::begin(std::declval&lt;T&amp;&gt;()) !=</div>
645
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; std::end(std::declval&lt;T&amp;&gt;()))&gt;&gt;</div>
646
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;: std::true_type {};</div>
647
- <div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588"> 675</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588">is_iterable_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__iterable.html">is_iterable&lt;T&gt;::value</a>;</div>
648
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; </div>
649
- <div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map.html"> 680</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a> : std::false_type {};</div>
650
- <div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html"> 681</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;std::map&lt;Ts...&gt;&gt; : std::true_type {};</div>
651
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
652
- <div class="line"><a name="l00683"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html"> 683</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;std::unordered_map&lt;Ts...&gt;&gt; : std::true_type {};</div>
653
- <div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5"> 684</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5">is_map_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__map.html">is_map</a>&lt;Ts...&gt;::value;</div>
654
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; </div>
655
- <div class="line"><a name="l00689"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set.html"> 689</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a> : std::false_type {};</div>
656
- <div class="line"><a name="l00690"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html"> 690</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;std::<a class="code" href="WPA_2CMakeLists_8txt.html#acb857077b5bb0b1d50ed7b3864b3b6cf">set</a>&lt;Ts...&gt;&gt; : std::true_type {};</div>
657
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
658
- <div class="line"><a name="l00692"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html"> 692</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;std::unordered_set&lt;Ts...&gt;&gt; : std::true_type {};</div>
659
- <div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2"> 693</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2">is_set_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;Ts...&gt;::value;</div>
660
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; </div>
661
- <div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html"> 697</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a> : std::false_type {};</div>
662
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
663
- <div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html"> 699</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::vector&lt;Ts...&gt;&gt; : std::true_type {};</div>
664
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
665
- <div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html"> 701</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::deque&lt;Ts...&gt;&gt; : std::true_type {};</div>
666
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
667
- <div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html"> 703</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::list&lt;Ts...&gt;&gt; : std::true_type {};</div>
668
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
669
- <div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06"> 705</a></span>&#160;constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06">is_sequence_container_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;Ts...&gt;::value;</div>
670
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; </div>
671
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; </div>
672
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160;} <span class="comment">// End namespace SVFUtil</span></div>
673
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; </div>
674
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;} <span class="comment">// End namespace SVF</span></div>
675
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; </div>
676
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* AnalysisUtil_H_ */</span><span class="preprocessor"></span></div>
626
+ <div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set.html"> 655</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a> : std::false_type {};</div>
627
+ <div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html"> 656</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;std::<a class="code" href="WPA_2CMakeLists_8txt.html#acb857077b5bb0b1d50ed7b3864b3b6cf">set</a>&lt;Ts...&gt;&gt; : std::true_type {};</div>
628
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
629
+ <div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html"> 658</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;std::unordered_set&lt;Ts...&gt;&gt; : std::true_type {};</div>
630
+ <div class="line"><a name="l00659"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2"> 659</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt; constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2">is_set_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__set.html">is_set</a>&lt;Ts...&gt;::value;</div>
631
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; </div>
632
+ <div class="line"><a name="l00663"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html"> 663</a></span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a> : std::false_type {};</div>
633
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
634
+ <div class="line"><a name="l00665"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html"> 665</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::vector&lt;Ts...&gt;&gt; : std::true_type {};</div>
635
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
636
+ <div class="line"><a name="l00667"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html"> 667</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::deque&lt;Ts...&gt;&gt; : std::true_type {};</div>
637
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
638
+ <div class="line"><a name="l00669"></a><span class="lineno"><a class="line" href="structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html"> 669</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;std::list&lt;Ts...&gt;&gt; : std::true_type {};</div>
639
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Ts&gt;</div>
640
+ <div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06"> 671</a></span>&#160;constexpr <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06">is_sequence_container_v</a> = <a class="code" href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">is_sequence_container</a>&lt;Ts...&gt;::value;</div>
641
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; </div>
642
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; </div>
643
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;} <span class="comment">// End namespace SVFUtil</span></div>
644
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; </div>
645
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;} <span class="comment">// End namespace SVF</span></div>
646
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; </div>
647
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* AnalysisUtil_H_ */</span><span class="preprocessor"></span></div>
677
648
  </div><!-- fragment --></div><!-- contents -->
678
649
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a6852ff1eedc1117e95e45e4a90c80d53"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">SVF::ThreadAPI::getThreadAPI</a></div><div class="ttdeci">static ThreadAPI * getThreadAPI()</div><div class="ttdoc">Return a static reference.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00102">ThreadAPI.h:102</a></div></div>
679
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a1a34958ca60ed98ad228c1d46cf95aeb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb">SVF::SVFUtil::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction(const SVFValue *svfval)</div><div class="ttdoc">Return true if this argument belongs to an uncalled function.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00403">SVFUtil.h:403</a></div></div>
650
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a1a34958ca60ed98ad228c1d46cf95aeb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1a34958ca60ed98ad228c1d46cf95aeb">SVF::SVFUtil::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction(const SVFValue *svfval)</div><div class="ttdoc">Return true if this argument belongs to an uncalled function.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00395">SVFUtil.h:395</a></div></div>
680
651
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string &amp; getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00216">SVFValue.h:216</a></div></div>
681
652
  <div class="ttc" id="astructSVF_1_1SVFUtil_1_1equalNodeBS_html_a023a5352ff198ab9f2e0dbc2a5eadc9e"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1equalNodeBS.html#a023a5352ff198ab9f2e0dbc2a5eadc9e">SVF::SVFUtil::equalNodeBS::operator()</a></div><div class="ttdeci">bool operator()(const NodeBS &amp;lhs, const NodeBS &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00153">SVFUtil.h:153</a></div></div>
682
653
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4af4db2fe43846609d2ed1d7022b1be1"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00188">SVFUtil.h:188</a></div></div>
683
654
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a7655b13bbfe720ca2b8a25e0a72528e6"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7655b13bbfe720ca2b8a25e0a72528e6">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(const std::string &amp;msg)</div><div class="ttdoc">Print error message by converting a string into red string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
684
655
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a1d5c84fd83e120820bfb3458e0231fdf"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a1d5c84fd83e120820bfb3458e0231fdf">SVF::ThreadAPI::isTDRelease</a></div><div class="ttdeci">bool isTDRelease(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call release a lock.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00285">ThreadAPI.h:285</a></div></div>
685
656
  <div class="ttc" id="aclassSVF_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#l00181">PointsTo.h:181</a></div></div>
686
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__set_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__set.html">SVF::SVFUtil::is_set</a></div><div class="ttdoc">Type trait to check if a type is a set or unordered_set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00689">SVFUtil.h:689</a></div></div>
657
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__set_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__set.html">SVF::SVFUtil::is_set</a></div><div class="ttdoc">Type trait to check if a type is a set or unordered_set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00655">SVFUtil.h:655</a></div></div>
687
658
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a688bd5e1bf36b3e75bfcea9388871dc4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a688bd5e1bf36b3e75bfcea9388871dc4">SVF::SVFUtil::isMemcpyExtFun</a></div><div class="ttdeci">bool isMemcpyExtFun(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00314">SVFUtil.h:314</a></div></div>
688
659
  <div class="ttc" id="aclassSVF_1_1SVFCallInst_html"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html">SVF::SVFCallInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00661">SVFValue.h:661</a></div></div>
689
660
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aeb570e9267fd7b189bd1bc877896d7ab"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeb570e9267fd7b189bd1bc877896d7ab">SVF::SVFUtil::dumpSet</a></div><div class="ttdeci">void dumpSet(NodeBS To, OutStream &amp;O=SVFUtil::outs())</div><div class="ttdoc">Dump sparse bitvector set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00147">SVFUtil.cpp:147</a></div></div>
690
661
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_ab96065dc1bb1cc29f9c37c885f524b34"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">SVF::ThreadAPI::isHareParFor</a></div><div class="ttdeci">bool isHareParFor(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call proceeds a hare_parallel_for.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00141">ThreadAPI.h:141</a></div></div>
691
662
  <div class="ttc" id="aclassSVF_1_1CallSite_html_afa0f55d8fd4248bf6ed39892b3b37438"><div class="ttname"><a href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438">SVF::CallSite::getCalledFunction</a></div><div class="ttdeci">const SVFFunction * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01118">SVFValue.h:1118</a></div></div>
692
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5f3ecd0770991b6e84afe47a3934f0d2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">SVF::SVFUtil::isLockAquireCall</a></div><div class="ttdeci">bool isLockAquireCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00573">SVFUtil.h:573</a></div></div>
693
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a28fbb7cc51eb7e25d88f43e3eb1f30fb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">SVF::SVFUtil::isHareParForCall</a></div><div class="ttdeci">bool isHareParForCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00537">SVFUtil.h:537</a></div></div>
694
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a21f45c806672255c044d39490990eae2"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a21f45c806672255c044d39490990eae2">SVF::ExtAPI::is_ext</a></div><div class="ttdeci">bool is_ext(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00200">ExtAPI.cpp:200</a></div></div>
663
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5f3ecd0770991b6e84afe47a3934f0d2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5f3ecd0770991b6e84afe47a3934f0d2">SVF::SVFUtil::isLockAquireCall</a></div><div class="ttdeci">bool isLockAquireCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00539">SVFUtil.h:539</a></div></div>
664
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a28fbb7cc51eb7e25d88f43e3eb1f30fb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">SVF::SVFUtil::isHareParForCall</a></div><div class="ttdeci">bool isHareParForCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00503">SVFUtil.h:503</a></div></div>
665
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a21f45c806672255c044d39490990eae2"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a21f45c806672255c044d39490990eae2">SVF::ExtAPI::is_ext</a></div><div class="ttdeci">bool is_ext(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00194">ExtAPI.cpp:194</a></div></div>
695
666
  <div class="ttc" id="anamespaceSVF_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="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
696
667
  <div class="ttc" id="astructSVF_1_1SVFUtil_1_1equalPointsTo_html_a4a7e42b2cca7e54766ce7657fefb91f9"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1equalPointsTo.html#a4a7e42b2cca7e54766ce7657fefb91f9">SVF::SVFUtil::equalPointsTo::operator()</a></div><div class="ttdeci">bool operator()(const PointsTo &amp;lhs, const PointsTo &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00145">SVFUtil.h:145</a></div></div>
697
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aa32219da7a5c3d7517ec5026afdac588"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588">SVF::SVFUtil::is_iterable_v</a></div><div class="ttdeci">constexpr bool is_iterable_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00675">SVFUtil.h:675</a></div></div>
698
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__iterable_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__iterable.html">SVF::SVFUtil::is_iterable</a></div><div class="ttdoc">Type trait that checks if a type is iterable (can be applied on a range-based for loop)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00670">SVFUtil.h:670</a></div></div>
668
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aa32219da7a5c3d7517ec5026afdac588"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa32219da7a5c3d7517ec5026afdac588">SVF::SVFUtil::is_iterable_v</a></div><div class="ttdeci">constexpr bool is_iterable_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00641">SVFUtil.h:641</a></div></div>
669
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__iterable_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__iterable.html">SVF::SVFUtil::is_iterable</a></div><div class="ttdoc">Type trait that checks if a type is iterable (can be applied on a range-based for loop)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00636">SVFUtil.h:636</a></div></div>
699
670
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a9815a5b31ac7dc21239d08e5b9f61106"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVF::SVFUtil::getSVFCallSite</a></div><div class="ttdeci">CallSite getSVFCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Return LLVM callsite given an instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00196">SVFUtil.h:196</a></div></div>
700
671
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a4bacbfb6648de8196217c83b5d73b876"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">SVF::ThreadAPI::isTDFork</a></div><div class="ttdeci">bool isTDFork(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call create a new thread.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00129">ThreadAPI.h:129</a></div></div>
701
672
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_ae63bd645cca6c9681fa1383cbbf08c94"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#ae63bd645cca6c9681fa1383cbbf08c94">SVF::ThreadAPI::getActualParmAtForkSite</a></div><div class="ttdeci">const SVFValue * getActualParmAtForkSite(const SVFInstruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00181">ThreadAPI.h:181</a></div></div>
@@ -704,13 +675,13 @@ $(function() {
704
675
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a36c91f952a69875c33d4bd0b05a27ff2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a36c91f952a69875c33d4bd0b05a27ff2">SVF::SVFUtil::mergePtsOccMaps</a></div><div class="ttdeci">void mergePtsOccMaps(Map&lt; Data, unsigned &gt; &amp;to, const Map&lt; Data, unsigned &gt; from)</div><div class="ttdoc">Given a map mapping points-to sets to a count, adds from into to.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00257">SVFUtil.h:257</a></div></div>
705
676
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
706
677
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a0d7588578735679773493ff2d5e458e1"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0d7588578735679773493ff2d5e458e1">SVF::SVFUtil::increaseStackSize</a></div><div class="ttdeci">void increaseStackSize()</div><div class="ttdoc">Increase the stack size limit.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00227">SVFUtil.cpp:227</a></div></div>
707
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__sequence__container_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">SVF::SVFUtil::is_sequence_container</a></div><div class="ttdoc">Type trait to check if a type is vector or list.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00697">SVFUtil.h:697</a></div></div>
678
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__sequence__container_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__sequence__container.html">SVF::SVFUtil::is_sequence_container</a></div><div class="ttdoc">Type trait to check if a type is vector or list.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00663">SVFUtil.h:663</a></div></div>
708
679
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_aa0d4ee196b91fce626f3f15bcc5599e4"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count() const</div><div class="ttdoc">Returns number of elements.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00111">PointsTo.cpp:111</a></div></div>
709
680
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a76909ad87f59eb9a9cfd1913e13da264"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a76909ad87f59eb9a9cfd1913e13da264">SVF::SVFUtil::bugMsg3</a></div><div class="ttdeci">std::string bugMsg3(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00091">SVFUtil.cpp:91</a></div></div>
710
681
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01120">SparseBitVector.h:1120</a></div></div>
711
682
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a742161b465774d74306df68a2bbe95e8"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a742161b465774d74306df68a2bbe95e8">SVF::ThreadAPI::isTDAcquire</a></div><div class="ttdeci">bool isTDAcquire(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call acquire a lock.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00272">ThreadAPI.h:272</a></div></div>
712
683
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac71522e8c55f84cfc6c13a0ddff18436"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac71522e8c55f84cfc6c13a0ddff18436">SVF::SVFUtil::wrnMsg</a></div><div class="ttdeci">std::string wrnMsg(const std::string &amp;msg)</div><div class="ttdoc">Returns warning message by converting a string into yellow string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00061">SVFUtil.cpp:61</a></div></div>
713
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00450">SVFUtil.h:450</a></div></div>
684
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00442">SVFUtil.h:442</a></div></div>
714
685
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00327">SVFUtil.h:327</a></div></div>
715
686
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a11f2d9b6e969ede6fca2c204cc15b821"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">SVF::SVFValue::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00229">SVFValue.h:229</a></div></div>
716
687
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a3e175d985de53d0aadb026168e8a1a0e"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a3e175d985de53d0aadb026168e8a1a0e">SVF::ThreadAPI::isTDExit</a></div><div class="ttdeci">bool isTDExit(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call exits/terminate a thread.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00259">ThreadAPI.h:259</a></div></div>
@@ -719,58 +690,54 @@ $(function() {
719
690
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a10504db25b86bc7f74aebb9c54f04cb3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVF::SVFUtil::bugMsg1</a></div><div class="ttdeci">std::string bugMsg1(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00081">SVFUtil.cpp:81</a></div></div>
720
691
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
721
692
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_af4ceddbe4d57b24e80201bc895f73810"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af4ceddbe4d57b24e80201bc895f73810">SVF::SVFUtil::dumpPointsToList</a></div><div class="ttdeci">void dumpPointsToList(const PointsToList &amp;ptl)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00122">SVFUtil.cpp:122</a></div></div>
722
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a8c64663b564eb7c399013389920ab500"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">SVF::SVFUtil::getActualParmAtForkSite</a></div><div class="ttdeci">const SVFValue * getActualParmAtForkSite(const CallSite cs)</div><div class="ttdoc">Return sole argument of the thread routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00609">SVFUtil.h:609</a></div></div>
693
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a8c64663b564eb7c399013389920ab500"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">SVF::SVFUtil::getActualParmAtForkSite</a></div><div class="ttdeci">const SVFValue * getActualParmAtForkSite(const CallSite cs)</div><div class="ttdoc">Return sole argument of the thread routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00575">SVFUtil.h:575</a></div></div>
723
694
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00141">SVFModule.h:141</a></div></div>
724
695
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6cfe12afa463d0ceddeee11540c33ab3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6cfe12afa463d0ceddeee11540c33ab3">SVF::SVFUtil::reportMemoryUsageKB</a></div><div class="ttdeci">void reportMemoryUsageKB(const std::string &amp;infor, OutStream &amp;O=SVFUtil::outs())</div><div class="ttdoc">Print memory usage in KB.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00167">SVFUtil.cpp:167</a></div></div>
725
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a1bc9bb7bd6c9682debf3ffab7182abf5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">SVF::SVFUtil::isStaticExtFun</a></div><div class="ttdeci">bool isStaticExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a static global call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00356">SVFUtil.h:356</a></div></div>
726
696
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a68b10ffa2775fe7d8c1476409c0f54ab"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">SVF::ThreadAPI::isTDJoin</a></div><div class="ttdeci">bool isTDJoin(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call wait for a worker thread.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00223">ThreadAPI.h:223</a></div></div>
727
697
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a14a4c5124f2fd03ca3d898e2acd54160"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a14a4c5124f2fd03ca3d898e2acd54160">SVF::SVFUtil::hclustMethodToString</a></div><div class="ttdeci">std::string hclustMethodToString(hclust_fast_methods method)</div><div class="ttdoc">Returns a string representation of a hclust method.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00260">SVFUtil.cpp:260</a></div></div>
728
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a68939c789d0530151a4e79e79317531a"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a68939c789d0530151a4e79e79317531a">SVF::ExtAPI::get_alloc_arg_pos</a></div><div class="ttdeci">s32_t get_alloc_arg_pos(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00175">ExtAPI.cpp:175</a></div></div>
729
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1make__void_html_ac2eb79d0fe9a0f94eb1992600ba91e36"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36">SVF::SVFUtil::make_void::type</a></div><div class="ttdeci">void type</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00663">SVFUtil.h:663</a></div></div>
698
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a68939c789d0530151a4e79e79317531a"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a68939c789d0530151a4e79e79317531a">SVF::ExtAPI::get_alloc_arg_pos</a></div><div class="ttdeci">s32_t get_alloc_arg_pos(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00169">ExtAPI.cpp:169</a></div></div>
699
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1make__void_html_ac2eb79d0fe9a0f94eb1992600ba91e36"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1make__void.html#ac2eb79d0fe9a0f94eb1992600ba91e36">SVF::SVFUtil::make_void::type</a></div><div class="ttdeci">void type</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00629">SVFUtil.h:629</a></div></div>
730
700
  <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a02380d22fd6021ebce1e54723d695c99"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a02380d22fd6021ebce1e54723d695c99">SVF::ExtAPI::getExtAPI</a></div><div class="ttdeci">static ExtAPI * getExtAPI(const std::string &amp;=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00038">ExtAPI.cpp:38</a></div></div>
731
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a08e67d68b1da116b2c51cb60bdb6dae2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2">SVF::SVFUtil::is_set_v</a></div><div class="ttdeci">constexpr bool is_set_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00693">SVFUtil.h:693</a></div></div>
701
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a08e67d68b1da116b2c51cb60bdb6dae2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a08e67d68b1da116b2c51cb60bdb6dae2">SVF::SVFUtil::is_set_v</a></div><div class="ttdeci">constexpr bool is_set_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00659">SVFUtil.h:659</a></div></div>
732
702
  <div class="ttc" id="afastcluster_8h_html"><div class="ttname"><a href="fastcluster_8h.html">fastcluster.h</a></div></div>
733
703
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a97c74c642ad43d955ac8a3f3ad8907b4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">SVF::SVFUtil::isReallocExtFun</a></div><div class="ttdeci">bool isReallocExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap reallocator.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00348">SVFUtil.h:348</a></div></div>
734
704
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac25f6dfcc9118ffd80244a771bdee535"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVF::SVFUtil::bugMsg2</a></div><div class="ttdeci">std::string bugMsg2(const std::string &amp;msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00086">SVFUtil.cpp:86</a></div></div>
735
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ae62938f722543d6d7fc201b685be1abf"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00497">SVFUtil.h:497</a></div></div>
736
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a9f6e5cd617ab57ef9da0bab6c3c9cdc8"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a9f6e5cd617ab57ef9da0bab6c3c9cdc8">SVF::ExtAPI::is_memset</a></div><div class="ttdeci">bool is_memset(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00158">ExtAPI.cpp:158</a></div></div>
737
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a0d865c55681a3b4a9bb965fd0200029d"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a0d865c55681a3b4a9bb965fd0200029d">SVF::ExtAPI::is_alloc</a></div><div class="ttdeci">bool is_alloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00163">ExtAPI.cpp:163</a></div></div>
705
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a9f6e5cd617ab57ef9da0bab6c3c9cdc8"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a9f6e5cd617ab57ef9da0bab6c3c9cdc8">SVF::ExtAPI::is_memset</a></div><div class="ttdeci">bool is_memset(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00152">ExtAPI.cpp:152</a></div></div>
706
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a0d865c55681a3b4a9bb965fd0200029d"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a0d865c55681a3b4a9bb965fd0200029d">SVF::ExtAPI::is_alloc</a></div><div class="ttdeci">bool is_alloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00157">ExtAPI.cpp:157</a></div></div>
738
707
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a56630cd025957508fd2aeb60b49a53be"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">SVF::ThreadAPI::getForkedFun</a></div><div class="ttdeci">const SVFValue * getForkedFun(const SVFInstruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00168">ThreadAPI.h:168</a></div></div>
739
708
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00241">SVFUtil.h:241</a></div></div>
740
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a1241ef1c19df14f7db0bd62dd68f14f9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">SVF::SVFUtil::isLockReleaseCall</a></div><div class="ttdeci">bool isLockReleaseCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00585">SVFUtil.h:585</a></div></div>
741
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2f74db48793a0db76c000ffecf9e1bd2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">SVF::SVFUtil::getTaskDataAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskDataAtHareParForSite(const CallSite cs)</div><div class="ttdoc">Return the task data argument of the parallel_for routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00633">SVFUtil.h:633</a></div></div>
709
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a1241ef1c19df14f7db0bd62dd68f14f9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1241ef1c19df14f7db0bd62dd68f14f9">SVF::SVFUtil::isLockReleaseCall</a></div><div class="ttdeci">bool isLockReleaseCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00551">SVFUtil.h:551</a></div></div>
710
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2f74db48793a0db76c000ffecf9e1bd2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">SVF::SVFUtil::getTaskDataAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskDataAtHareParForSite(const CallSite cs)</div><div class="ttdoc">Return the task data argument of the parallel_for routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00599">SVFUtil.h:599</a></div></div>
742
711
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00150">SVFValue.h:150</a></div></div>
743
712
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
744
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ad37880353cffc950d5b9417bc41c0b06"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">SVF::SVFUtil::void_t</a></div><div class="ttdeci">typename make_void&lt; Ts... &gt;::type void_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00665">SVFUtil.h:665</a></div></div>
745
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5c2abeb363081381c3dc939ab511e3f0"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">SVF::SVFUtil::isThreadForkCall</a></div><div class="ttdeci">bool isThreadForkCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00525">SVFUtil.h:525</a></div></div>
713
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ad37880353cffc950d5b9417bc41c0b06"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ad37880353cffc950d5b9417bc41c0b06">SVF::SVFUtil::void_t</a></div><div class="ttdeci">typename make_void&lt; Ts... &gt;::type void_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00631">SVFUtil.h:631</a></div></div>
714
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5c2abeb363081381c3dc939ab511e3f0"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">SVF::SVFUtil::isThreadForkCall</a></div><div class="ttdeci">bool isThreadForkCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00491">SVFUtil.h:491</a></div></div>
746
715
  <div class="ttc" id="aExtAPI_8h_html"><div class="ttname"><a href="ExtAPI_8h.html">ExtAPI.h</a></div></div>
747
716
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
748
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__map_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__map.html">SVF::SVFUtil::is_map</a></div><div class="ttdoc">Type trait to check if a type is a map or unordered_map.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00680">SVFUtil.h:680</a></div></div>
749
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_ae20ea24cce02de87d89a2d0b773a2357"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ae20ea24cce02de87d89a2d0b773a2357">SVF::ExtAPI::has_static</a></div><div class="ttdeci">bool has_static(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00148">ExtAPI.cpp:148</a></div></div>
750
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aedfa6e9216c6c788c26aef1967689b76"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00439">SVFUtil.h:439</a></div></div>
717
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1is__map_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1is__map.html">SVF::SVFUtil::is_map</a></div><div class="ttdoc">Type trait to check if a type is a map or unordered_map.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00646">SVFUtil.h:646</a></div></div>
718
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aedfa6e9216c6c788c26aef1967689b76"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00431">SVFUtil.h:431</a></div></div>
751
719
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a62a5d4709eb9f1e4e9dd20b87dac8c42"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a62a5d4709eb9f1e4e9dd20b87dac8c42">SVF::ThreadAPI::isTDBarWait</a></div><div class="ttdeci">bool isTDBarWait(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call waits for a barrier.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00313">ThreadAPI.h:313</a></div></div>
752
720
  <div class="ttc" id="astructSVF_1_1SVFUtil_1_1equalPointsTo_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1equalPointsTo.html">SVF::SVFUtil::equalPointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00143">SVFUtil.h:143</a></div></div>
753
721
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aeecfaf26800dcebf0b079395126bc7f7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aeecfaf26800dcebf0b079395126bc7f7">SVF::SVFUtil::insertKey</a></div><div class="ttdeci">void insertKey(const Key &amp;key, KeySet &amp;keySet)</div><div class="ttdoc">Inserts an element into a Set/CondSet (with ::insert).</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00270">SVFUtil.h:270</a></div></div>
754
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a61ed4bb80d88b0f8dbc02535c224fdfb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a61ed4bb80d88b0f8dbc02535c224fdfb">SVF::SVFUtil::isHeapAllocOrStaticExtCall</a></div><div class="ttdeci">bool isHeapAllocOrStaticExtCall(const CallSite cs)</div><div class="ttdoc">Return true if the call is a static global call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00512">SVFUtil.h:512</a></div></div>
755
722
  <div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00270">SVFValue.h:270</a></div></div>
756
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5cee46f58bdab3f9b1c698e97290152f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">SVF::SVFUtil::getTaskFuncAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskFuncAtHareParForSite(const CallSite cs)</div><div class="ttdoc">Return the task function of the parallel_for routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
723
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5cee46f58bdab3f9b1c698e97290152f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">SVF::SVFUtil::getTaskFuncAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskFuncAtHareParForSite(const CallSite cs)</div><div class="ttdoc">Return the task function of the parallel_for routine.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00587">SVFUtil.h:587</a></div></div>
757
724
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a630ff9c47f58f9b8df7c8a2b3711477c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a630ff9c47f58f9b8df7c8a2b3711477c">SVF::SVFUtil::getMemoryUsageKB</a></div><div class="ttdeci">bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)</div><div class="ttdoc">Get memory usage from system file. Return TRUE if succeed.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00177">SVFUtil.cpp:177</a></div></div>
758
725
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_ab15b12637a557b53b92e9087eaf66cd6"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">SVF::ThreadAPI::getTaskFuncAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskFuncAtHareParForSite(const SVFInstruction *inst) const</div><div class="ttdoc">Get the task function (i.e., the 5th parameter) of the hare_parallel_for call.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00195">ThreadAPI.h:195</a></div></div>
759
726
  <div class="ttc" id="aPointsTo_8h_html"><div class="ttname"><a href="PointsTo_8h.html">PointsTo.h</a></div></div>
760
727
  <div class="ttc" id="aSVFModule_8h_html"><div class="ttname"><a href="SVFModule_8h.html">SVFModule.h</a></div></div>
761
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00395">SVFUtil.h:395</a></div></div>
728
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00387">SVFUtil.h:387</a></div></div>
762
729
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00133">SVFModule.h:133</a></div></div>
763
730
  <div class="ttc" id="aclassSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00054">SVFModule.h:54</a></div></div>
764
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a158e7da51d45b746e067dc40e912c477"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a158e7da51d45b746e067dc40e912c477">SVF::ExtAPI::is_arg_alloc</a></div><div class="ttdeci">bool is_arg_alloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00169">ExtAPI.cpp:169</a></div></div>
731
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_a158e7da51d45b746e067dc40e912c477"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a158e7da51d45b746e067dc40e912c477">SVF::ExtAPI::is_arg_alloc</a></div><div class="ttdeci">bool is_arg_alloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00163">ExtAPI.cpp:163</a></div></div>
765
732
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_abb2bbf6e0dc5adae2140a519259e6f17"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const SVFInstruction *inst)</div><div class="ttdoc">Return true if it is an llvm intrinsic instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00247">SVFUtil.cpp:247</a></div></div>
766
733
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00309">SVFUtil.h:309</a></div></div>
767
734
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a54098ea73555caa682287f8e3c9e8fcb"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a54098ea73555caa682287f8e3c9e8fcb">SVF::SVFUtil::isMemsetExtFun</a></div><div class="ttdeci">bool isMemsetExtFun(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00319">SVFUtil.h:319</a></div></div>
768
735
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4a15cc5570eed12dd6ee766213e11d61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4a15cc5570eed12dd6ee766213e11d61">SVF::SVFUtil::dumpAliasSet</a></div><div class="ttdeci">void dumpAliasSet(unsigned node, NodeBS To)</div><div class="ttdoc">Dump alias set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00137">SVFUtil.cpp:137</a></div></div>
769
736
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a73215bac62f1340a58f6c7f2ba9b0e7b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVF::SVFUtil::getHeapAllocHoldingArgPosition</a></div><div class="ttdeci">int getHeapAllocHoldingArgPosition(const SVFFunction *fun)</div><div class="ttdoc">Get the position of argument that holds an allocated heap object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00340">SVFUtil.h:340</a></div></div>
770
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00655">SVFUtil.h:655</a></div></div>
737
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference&lt; T &gt;::type &amp;&amp; move(T &amp;&amp;t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
771
738
  <div class="ttc" id="aWPA_2CMakeLists_8txt_html_acb857077b5bb0b1d50ed7b3864b3b6cf"><div class="ttname"><a href="WPA_2CMakeLists_8txt.html#acb857077b5bb0b1d50ed7b3864b3b6cf">set</a></div><div class="ttdeci">set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) if(DEFINED IN_SOURCE_BUILD) add_llvm_tool(wpa wpa.cpp) else() add_executable(wpa wpa.cpp) target_link_libraries(wpa SvfLLVM $</div><div class="ttdef"><b>Definition:</b> <a href="WPA_2CMakeLists_8txt_source.html#l00001">CMakeLists.txt:1</a></div></div>
772
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6528edf9a1750df4a84d1a60d4d0bbe4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">SVF::SVFUtil::isProgExitCall</a></div><div class="ttdeci">bool isProgExitCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00643">SVFUtil.h:643</a></div></div>
773
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aa8017e3e5100b3f63ee338b66118d266"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">SVF::SVFUtil::getProgEntryFunction</a></div><div class="ttdeci">const SVFFunction * getProgEntryFunction(SVFModule *svfModule)</div><div class="ttdoc">Get program entry function from module.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00382">SVFUtil.h:382</a></div></div>
739
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6528edf9a1750df4a84d1a60d4d0bbe4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6528edf9a1750df4a84d1a60d4d0bbe4">SVF::SVFUtil::isProgExitCall</a></div><div class="ttdeci">bool isProgExitCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00609">SVFUtil.h:609</a></div></div>
740
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aa8017e3e5100b3f63ee338b66118d266"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aa8017e3e5100b3f63ee338b66118d266">SVF::SVFUtil::getProgEntryFunction</a></div><div class="ttdeci">const SVFFunction * getProgEntryFunction(SVFModule *svfModule)</div><div class="ttdoc">Get program entry function from module.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00374">SVFUtil.h:374</a></div></div>
774
741
  <div class="ttc" id="anamespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set&lt; Key, Compare, Allocator &gt; OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00106">SVFType.h:106</a></div></div>
775
742
  <div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
776
743
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00536">SparseBitVector.h:536</a></div></div>
@@ -778,8 +745,8 @@ $(function() {
778
745
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab4a69173f50ebe48e69103befe516245"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">SVF::SVFUtil::isHeapAllocExtFunViaArg</a></div><div class="ttdeci">bool isHeapAllocExtFunViaArg(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00333">SVFUtil.h:333</a></div></div>
779
746
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a05dc00b2bd9a8176aae31b6cfffe725d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a05dc00b2bd9a8176aae31b6cfffe725d">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(const std::string &amp;msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00053">SVFUtil.cpp:53</a></div></div>
780
747
  <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01075">SVFValue.h:1075</a></div></div>
781
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2c97c2b79b795465490512e267a9309b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">SVF::SVFUtil::isProgEntryFunction</a></div><div class="ttdeci">bool isProgEntryFunction(const SVFFunction *fun)</div><div class="ttdoc">Program entry function e.g. main.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00364">SVFUtil.h:364</a></div></div>
782
- <div class="ttc" id="astructSVF_1_1SVFUtil_1_1make__void_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1make__void.html">SVF::SVFUtil::make_void</a></div><div class="ttdoc">void_t is not available until C++17. We define it here for C++11/14.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00661">SVFUtil.h:661</a></div></div>
748
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2c97c2b79b795465490512e267a9309b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2c97c2b79b795465490512e267a9309b">SVF::SVFUtil::isProgEntryFunction</a></div><div class="ttdeci">bool isProgEntryFunction(const SVFFunction *fun)</div><div class="ttdoc">Program entry function e.g. main.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00356">SVFUtil.h:356</a></div></div>
749
+ <div class="ttc" id="astructSVF_1_1SVFUtil_1_1make__void_html"><div class="ttname"><a href="structSVF_1_1SVFUtil_1_1make__void.html">SVF::SVFUtil::make_void</a></div><div class="ttdoc">void_t is not available until C++17. We define it here for C++11/14.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00627">SVFUtil.h:627</a></div></div>
783
750
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
784
751
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_acb66b86171786cc34b798f05f67f321e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#acb66b86171786cc34b798f05f67f321e">SVF::SVFUtil::equalNodeBS</a></div><div class="ttdeci">struct SVF::SVFUtil::equalNodeBS equalNodeBS</div></div>
785
752
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_ad5b582d2672617806c61e6170d0b5a7e"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
@@ -788,12 +755,12 @@ $(function() {
788
755
  <div class="ttc" id="aclassSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01090">SVFValue.h:1090</a></div></div>
789
756
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a86ebab122895189be57637b84adc7642"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a86ebab122895189be57637b84adc7642">SVF::SVFUtil::ptsToNodeBS</a></div><div class="ttdeci">NodeBS ptsToNodeBS(const PointsTo &amp;pts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00159">SVFUtil.h:159</a></div></div>
790
757
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4740b14abf7d308e7806a0d6d6c42ee2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4740b14abf7d308e7806a0d6d6c42ee2">SVF::SVFUtil::PointsToList</a></div><div class="ttdeci">OrderedSet&lt; PointsTo, equalPointsTo &gt; PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00166">SVFUtil.h:166</a></div></div>
791
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00462">SVFUtil.h:462</a></div></div>
758
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00454">SVFUtil.h:454</a></div></div>
792
759
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a168f7f7a3a8c70dbf2b5b4269cd4c7c5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a168f7f7a3a8c70dbf2b5b4269cd4c7c5">SVF::SVFUtil::stopAnalysisLimitTimer</a></div><div class="ttdeci">void stopAnalysisLimitTimer(bool limitTimerSet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00310">SVFUtil.cpp:310</a></div></div>
793
760
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_abd0a9ee845a455f9354d24a8b84a0bb3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#abd0a9ee845a455f9354d24a8b84a0bb3">SVF::SVFUtil::dumpPointsToSet</a></div><div class="ttdeci">void dumpPointsToSet(unsigned node, NodeBS To)</div><div class="ttdoc">Dump points-to set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00107">SVFUtil.cpp:107</a></div></div>
794
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2790c5289dad1d6e80f7597a2ea458ab"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">SVF::SVFUtil::getForkedFun</a></div><div class="ttdeci">const SVFValue * getForkedFun(const CallSite cs)</div><div class="ttdoc">Return thread fork function.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00413">SVFUtil.h:413</a></div></div>
795
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_ac6d6bdc51a6b75d6d5741cb751559fe4"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">SVF::ExtAPI::is_realloc</a></div><div class="ttdeci">bool is_realloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00192">ExtAPI.cpp:192</a></div></div>
796
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a3af5073a1cdc000678f7e4bbc943f5d5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">SVF::SVFUtil::isThreadExitCall</a></div><div class="ttdeci">bool isThreadExitCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00561">SVFUtil.h:561</a></div></div>
761
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2790c5289dad1d6e80f7597a2ea458ab"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">SVF::SVFUtil::getForkedFun</a></div><div class="ttdeci">const SVFValue * getForkedFun(const CallSite cs)</div><div class="ttdoc">Return thread fork function.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00405">SVFUtil.h:405</a></div></div>
762
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_ac6d6bdc51a6b75d6d5741cb751559fe4"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">SVF::ExtAPI::is_realloc</a></div><div class="ttdeci">bool is_realloc(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00186">ExtAPI.cpp:186</a></div></div>
763
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a3af5073a1cdc000678f7e4bbc943f5d5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a3af5073a1cdc000678f7e4bbc943f5d5">SVF::SVFUtil::isThreadExitCall</a></div><div class="ttdeci">bool isThreadExitCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00527">SVFUtil.h:527</a></div></div>
797
764
  <div class="ttc" id="anamespaceSVF_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="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
798
765
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a870b63af2bf9fe43cdf1df3d56b20f6c"><div class="ttname"><a href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">SVF::SVFType::isPointerTy</a></div><div class="ttdeci">bool isPointerTy() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00319">SVFType.h:319</a></div></div>
799
766
  <div class="ttc" id="aclassSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00859">SVFValue.h:859</a></div></div>
@@ -803,18 +770,18 @@ $(function() {
803
770
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a757815a2c758695176120509ceb0ce70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a757815a2c758695176120509ceb0ce70">SVF::SVFUtil::startAnalysisLimitTimer</a></div><div class="ttdeci">bool startAnalysisLimitTimer(unsigned timeLimit)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00289">SVFUtil.cpp:289</a></div></div>
804
771
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a8f749354b7e882ef3e5bf5081fa715b5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVF::SVFUtil::cmpNodeBS</a></div><div class="ttdeci">bool cmpNodeBS(const NodeBS &amp;lpts, const NodeBS &amp;rpts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00125">SVFUtil.h:125</a></div></div>
805
772
  <div class="ttc" id="aSVFValue_8h_html"><div class="ttname"><a href="SVFValue_8h.html">SVFValue.h</a></div></div>
806
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a194a8cf292726bd6cd54307b555c068a"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">SVF::SVFUtil::isThreadJoinCall</a></div><div class="ttdeci">bool isThreadJoinCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00549">SVFUtil.h:549</a></div></div>
773
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a194a8cf292726bd6cd54307b555c068a"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a194a8cf292726bd6cd54307b555c068a">SVF::SVFUtil::isThreadJoinCall</a></div><div class="ttdeci">bool isThreadJoinCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00515">SVFUtil.h:515</a></div></div>
807
774
  <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00593">SVFValue.h:593</a></div></div>
808
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6740e7686ba111ae525c6c093cbbaf46"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">SVF::SVFUtil::isReallocExtCall</a></div><div class="ttdeci">bool isReallocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00484">SVFUtil.h:484</a></div></div>
775
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6740e7686ba111ae525c6c093cbbaf46"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6740e7686ba111ae525c6c093cbbaf46">SVF::SVFUtil::isReallocExtCall</a></div><div class="ttdeci">bool isReallocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00476">SVFUtil.h:476</a></div></div>
809
776
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a9f96e6a886fa69e07cda5dbfaed8b7c9"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">SVF::SparseBitVector::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01104">SparseBitVector.h:1104</a></div></div>
810
777
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_afdc3358522417de9a0d3a181a329f722"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00174">SVFUtil.h:174</a></div></div>
811
778
  <div class="ttc" id="anamespaceSVF_html_a8bd74fdcb0e58d0249003df9c3fb8b31"><div class="ttname"><a href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a></div><div class="ttdeci">std::ostream OutStream</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00048">SVFType.h:48</a></div></div>
812
779
  <div class="ttc" id="anamespaceSVF_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="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
813
- <div class="ttc" id="aclassSVF_1_1ExtAPI_html_aadc8f2e0ff777e3f611a7d741def0742"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aadc8f2e0ff777e3f611a7d741def0742">SVF::ExtAPI::is_memcpy</a></div><div class="ttdeci">bool is_memcpy(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00153">ExtAPI.cpp:153</a></div></div>
814
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2c47299fdf0ca0d08578ded6348f77c2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2">SVF::SVFUtil::isAnAllocationWraper</a></div><div class="ttdeci">bool isAnAllocationWraper(const SVFInstruction *)</div><div class="ttdoc">This function servers a allocation wrapper detector.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00424">SVFUtil.h:424</a></div></div>
815
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a811faa9c2095f44e3e5b6e50aa6f6e06"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06">SVF::SVFUtil::is_sequence_container_v</a></div><div class="ttdeci">constexpr bool is_sequence_container_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00705">SVFUtil.h:705</a></div></div>
816
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ad09ba410acbbaee2aac9dd406c3cf01a"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">SVF::SVFUtil::isBarrierWaitCall</a></div><div class="ttdeci">bool isBarrierWaitCall(const CallSite cs)</div><div class="ttdoc">Return true if this is a barrier wait call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00597">SVFUtil.h:597</a></div></div>
817
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6f82e03d880257527bd9cb5978e05604"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604">SVF::SVFUtil::getProgFunction</a></div><div class="ttdeci">const SVFFunction * getProgFunction(SVFModule *svfModule, const std::string &amp;funName)</div><div class="ttdoc">Get program entry function from module.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00370">SVFUtil.h:370</a></div></div>
780
+ <div class="ttc" id="aclassSVF_1_1ExtAPI_html_aadc8f2e0ff777e3f611a7d741def0742"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aadc8f2e0ff777e3f611a7d741def0742">SVF::ExtAPI::is_memcpy</a></div><div class="ttdeci">bool is_memcpy(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00147">ExtAPI.cpp:147</a></div></div>
781
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a2c47299fdf0ca0d08578ded6348f77c2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2c47299fdf0ca0d08578ded6348f77c2">SVF::SVFUtil::isAnAllocationWraper</a></div><div class="ttdeci">bool isAnAllocationWraper(const SVFInstruction *)</div><div class="ttdoc">This function servers a allocation wrapper detector.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00416">SVFUtil.h:416</a></div></div>
782
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a811faa9c2095f44e3e5b6e50aa6f6e06"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a811faa9c2095f44e3e5b6e50aa6f6e06">SVF::SVFUtil::is_sequence_container_v</a></div><div class="ttdeci">constexpr bool is_sequence_container_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00671">SVFUtil.h:671</a></div></div>
783
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ad09ba410acbbaee2aac9dd406c3cf01a"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ad09ba410acbbaee2aac9dd406c3cf01a">SVF::SVFUtil::isBarrierWaitCall</a></div><div class="ttdeci">bool isBarrierWaitCall(const CallSite cs)</div><div class="ttdoc">Return true if this is a barrier wait call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00563">SVFUtil.h:563</a></div></div>
784
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a6f82e03d880257527bd9cb5978e05604"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6f82e03d880257527bd9cb5978e05604">SVF::SVFUtil::getProgFunction</a></div><div class="ttdeci">const SVFFunction * getProgFunction(SVFModule *svfModule, const std::string &amp;funName)</div><div class="ttdoc">Get program entry function from module.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00362">SVFUtil.h:362</a></div></div>
818
785
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac047d963ed4b701c83958868ab36202f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac047d963ed4b701c83958868ab36202f">SVF::SVFUtil::equalPointsTo</a></div><div class="ttdeci">struct SVF::SVFUtil::equalPointsTo equalPointsTo</div></div>
819
786
  <div class="ttc" id="aclassSVF_1_1ThreadAPI_html_a8c6617f2df59ff166b13242060707013"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a8c6617f2df59ff166b13242060707013">SVF::ThreadAPI::getTaskDataAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskDataAtHareParForSite(const SVFInstruction *inst) const</div><div class="ttdoc">Get the task data (i.e., the 6th parameter) of the hare_parallel_for call.</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00209">ThreadAPI.h:209</a></div></div>
820
787
  <div class="ttc" id="aclassSVF_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#l00028">PointsTo.h:28</a></div></div>
@@ -822,7 +789,7 @@ $(function() {
822
789
  <div class="ttc" id="anamespaceSVF_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="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
823
790
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
824
791
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2e0196e0ce547ab4a483cc6d2646b24"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(const std::string &amp;msg)</div><div class="ttdoc">Writes a message run through wrnMsg.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00066">SVFUtil.cpp:66</a></div></div>
825
- <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a8c57ab480c497cbd21a49778d0e59bd5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5">SVF::SVFUtil::is_map_v</a></div><div class="ttdeci">constexpr bool is_map_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00684">SVFUtil.h:684</a></div></div>
792
+ <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a8c57ab480c497cbd21a49778d0e59bd5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8c57ab480c497cbd21a49778d0e59bd5">SVF::SVFUtil::is_map_v</a></div><div class="ttdeci">constexpr bool is_map_v</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00650">SVFUtil.h:650</a></div></div>
826
793
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab30a35713852a0a525c52ae5dd463442"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab30a35713852a0a525c52ae5dd463442">SVF::SVFUtil::dumpSparseSet</a></div><div class="ttdeci">void dumpSparseSet(const NodeBS &amp;To)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00115">SVFUtil.cpp:115</a></div></div>
827
794
  <!-- start footer part -->
828
795
  <hr class="footer"/><address class="footer"><small>