svf-tools 1.0.416 → 1.0.419

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 (289) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +13 -13
  3. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  4. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +4 -4
  5. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  7. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  9. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +8 -8
  10. package/SVF-doxygen/html/html/Conditions_8cpp.html +0 -1
  11. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +58 -49
  12. package/SVF-doxygen/html/html/Conditions_8h.html +6 -2
  13. package/SVF-doxygen/html/html/Conditions_8h_source.html +68 -60
  14. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +4 -4
  17. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  19. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  20. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
  22. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
  25. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
  27. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -3
  29. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +4 -4
  31. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
  32. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +5 -5
  34. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
  38. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  39. package/SVF-doxygen/html/html/Options_8cpp_source.html +114 -113
  40. package/SVF-doxygen/html/html/Options_8h.html +1 -0
  41. package/SVF-doxygen/html/html/Options_8h_source.html +117 -115
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  43. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +41 -23
  44. package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +74 -74
  45. package/SVF-doxygen/html/html/PathDPItem_8h_source.html +7 -7
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +4 -4
  47. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
  48. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  49. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +13 -13
  51. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
  53. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +4 -4
  54. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +9 -9
  56. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
  57. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
  58. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
  60. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +2 -2
  61. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
  63. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +8 -8
  64. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  65. package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -3
  66. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  70. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +30 -29
  72. package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  75. package/SVF-doxygen/html/html/annotated.html +7 -5
  76. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +10 -10
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +6 -6
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr-members.html +92 -0
  81. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr.html +304 -0
  82. package/SVF-doxygen/html/html/classSVF_1_1BDDExpr.png +0 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1BDDManager-members.html +124 -0
  84. package/SVF-doxygen/html/html/classSVF_1_1BDDManager.html +1139 -0
  85. package/SVF-doxygen/html/html/classSVF_1_1BDDManager.png +0 -0
  86. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +5 -5
  87. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +5 -5
  90. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +3 -3
  91. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
  93. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1CondExpr-members.html +5 -8
  95. package/SVF-doxygen/html/html/classSVF_1_1CondExpr.html +22 -151
  96. package/SVF-doxygen/html/html/classSVF_1_1CondExpr.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1CondManager-members.html +25 -36
  98. package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +276 -605
  99. package/SVF-doxygen/html/html/classSVF_1_1CondManager.png +0 -0
  100. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +3 -3
  103. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
  104. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +9 -9
  107. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +7 -7
  108. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  114. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
  117. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  118. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  121. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +11 -11
  122. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
  123. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
  125. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +6 -6
  127. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +103 -102
  130. package/SVF-doxygen/html/html/classSVF_1_1Options.html +141 -115
  131. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  132. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +189 -196
  134. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +15 -15
  136. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +20 -20
  138. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  140. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +25 -24
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +33 -2
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
  145. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  146. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +4 -4
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +21 -21
  148. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +8 -8
  150. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +8 -8
  152. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  153. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  157. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
  158. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
  162. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
  163. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +95 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +396 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.png +0 -0
  166. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager-members.html +122 -0
  167. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager.html +1066 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1Z3Manager.png +0 -0
  169. package/SVF-doxygen/html/html/classes.html +12 -11
  170. package/SVF-doxygen/html/html/functions_0x7e.html +9 -3
  171. package/SVF-doxygen/html/html/functions_a.html +4 -6
  172. package/SVF-doxygen/html/html/functions_b.html +33 -34
  173. package/SVF-doxygen/html/html/functions_c.html +43 -32
  174. package/SVF-doxygen/html/html/functions_d.html +5 -4
  175. package/SVF-doxygen/html/html/functions_e.html +8 -7
  176. package/SVF-doxygen/html/html/functions_enum.html +3 -0
  177. package/SVF-doxygen/html/html/functions_eval_b.html +6 -3
  178. package/SVF-doxygen/html/html/functions_eval_z.html +79 -0
  179. package/SVF-doxygen/html/html/functions_f.html +3 -3
  180. package/SVF-doxygen/html/html/functions_func.html +8 -7
  181. package/SVF-doxygen/html/html/functions_func_0x7e.html +9 -3
  182. package/SVF-doxygen/html/html/functions_func_b.html +10 -10
  183. package/SVF-doxygen/html/html/functions_func_c.html +23 -20
  184. package/SVF-doxygen/html/html/functions_func_d.html +5 -4
  185. package/SVF-doxygen/html/html/functions_func_e.html +3 -2
  186. package/SVF-doxygen/html/html/functions_func_g.html +39 -27
  187. package/SVF-doxygen/html/html/functions_func_i.html +17 -11
  188. package/SVF-doxygen/html/html/functions_func_n.html +4 -3
  189. package/SVF-doxygen/html/html/functions_func_o.html +4 -3
  190. package/SVF-doxygen/html/html/functions_func_p.html +3 -3
  191. package/SVF-doxygen/html/html/functions_func_s.html +2 -2
  192. package/SVF-doxygen/html/html/functions_func_z.html +79 -0
  193. package/SVF-doxygen/html/html/functions_g.html +39 -27
  194. package/SVF-doxygen/html/html/functions_i.html +31 -16
  195. package/SVF-doxygen/html/html/functions_l.html +6 -6
  196. package/SVF-doxygen/html/html/functions_m.html +2 -2
  197. package/SVF-doxygen/html/html/functions_n.html +7 -6
  198. package/SVF-doxygen/html/html/functions_o.html +9 -14
  199. package/SVF-doxygen/html/html/functions_p.html +10 -10
  200. package/SVF-doxygen/html/html/functions_r.html +8 -8
  201. package/SVF-doxygen/html/html/functions_rela.html +4 -0
  202. package/SVF-doxygen/html/html/functions_s.html +15 -15
  203. package/SVF-doxygen/html/html/functions_t.html +4 -6
  204. package/SVF-doxygen/html/html/functions_type_b.html +5 -6
  205. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  206. package/SVF-doxygen/html/html/functions_type_i.html +4 -1
  207. package/SVF-doxygen/html/html/functions_type_z.html +77 -0
  208. package/SVF-doxygen/html/html/functions_v.html +3 -3
  209. package/SVF-doxygen/html/html/functions_vars_a.html +0 -3
  210. package/SVF-doxygen/html/html/functions_vars_b.html +6 -9
  211. package/SVF-doxygen/html/html/functions_vars_c.html +5 -2
  212. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  213. package/SVF-doxygen/html/html/functions_vars_i.html +6 -0
  214. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  215. package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
  216. package/SVF-doxygen/html/html/functions_vars_s.html +1 -1
  217. package/SVF-doxygen/html/html/functions_z.html +16 -0
  218. package/SVF-doxygen/html/html/hierarchy.html +436 -434
  219. package/SVF-doxygen/html/html/menudata.js +5 -2
  220. package/SVF-doxygen/html/html/namespaceSVF.html +10 -6
  221. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -2
  222. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -12
  223. package/SVF-doxygen/html/html/search/all_1.js +1 -2
  224. package/SVF-doxygen/html/html/search/all_10.js +11 -11
  225. package/SVF-doxygen/html/html/search/all_12.js +3 -3
  226. package/SVF-doxygen/html/html/search/all_13.js +9 -9
  227. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  228. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  229. package/SVF-doxygen/html/html/search/all_1a.js +5 -0
  230. package/SVF-doxygen/html/html/search/all_1b.js +5 -3
  231. package/SVF-doxygen/html/html/search/all_2.js +10 -9
  232. package/SVF-doxygen/html/html/search/all_3.js +9 -7
  233. package/SVF-doxygen/html/html/search/all_4.js +3 -3
  234. package/SVF-doxygen/html/html/search/all_5.js +2 -2
  235. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  236. package/SVF-doxygen/html/html/search/all_7.js +14 -11
  237. package/SVF-doxygen/html/html/search/all_9.js +7 -5
  238. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  239. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  240. package/SVF-doxygen/html/html/search/all_e.js +7 -7
  241. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  242. package/SVF-doxygen/html/html/search/classes_1.js +2 -2
  243. package/SVF-doxygen/html/html/search/classes_14.html +26 -0
  244. package/SVF-doxygen/html/html/search/classes_14.js +5 -0
  245. package/SVF-doxygen/html/html/search/enums_1.js +1 -0
  246. package/SVF-doxygen/html/html/search/enumvalues_1.js +2 -1
  247. package/SVF-doxygen/html/html/search/enumvalues_14.html +26 -0
  248. package/SVF-doxygen/html/html/search/enumvalues_14.js +5 -0
  249. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  250. package/SVF-doxygen/html/html/search/functions_1.js +5 -5
  251. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  252. package/SVF-doxygen/html/html/search/functions_15.js +2 -0
  253. package/SVF-doxygen/html/html/search/functions_16.js +5 -3
  254. package/SVF-doxygen/html/html/search/functions_2.js +5 -5
  255. package/SVF-doxygen/html/html/search/functions_3.js +3 -3
  256. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  257. package/SVF-doxygen/html/html/search/functions_6.js +14 -11
  258. package/SVF-doxygen/html/html/search/functions_8.js +3 -3
  259. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  260. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  261. package/SVF-doxygen/html/html/search/functions_e.js +4 -4
  262. package/SVF-doxygen/html/html/search/related_0.js +2 -1
  263. package/SVF-doxygen/html/html/search/searchdata.js +3 -3
  264. package/SVF-doxygen/html/html/search/typedefs_1.js +2 -2
  265. package/SVF-doxygen/html/html/search/typedefs_16.html +26 -0
  266. package/SVF-doxygen/html/html/search/typedefs_16.js +4 -0
  267. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  268. package/SVF-doxygen/html/html/search/typedefs_8.js +2 -1
  269. package/SVF-doxygen/html/html/search/variables_1.js +0 -1
  270. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  271. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  272. package/SVF-doxygen/html/html/search/variables_2.js +2 -3
  273. package/SVF-doxygen/html/html/search/variables_3.js +2 -1
  274. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  275. package/SVF-doxygen/html/html/search/variables_9.js +2 -0
  276. package/SVF-doxygen/html/html/search/variables_d.js +2 -2
  277. package/SVF-doxygen/html/html/search/variables_e.js +4 -4
  278. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +3 -3
  279. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  280. package/include/SABER/PathCondAllocator.h +2 -3
  281. package/include/Util/BasicTypes.h +5 -0
  282. package/include/Util/Conditions.h +272 -166
  283. package/include/Util/Options.h +4 -0
  284. package/lib/Graphs/IRGraph.cpp +4 -0
  285. package/lib/Graphs/SVFG.cpp +1 -1
  286. package/lib/SABER/PathCondAllocator.cpp +3 -0
  287. package/lib/Util/Conditions.cpp +245 -209
  288. package/lib/Util/Options.cpp +11 -0
  289. package/package.json +1 -1
@@ -616,13 +616,13 @@ Private Attributes</h2></td></tr>
616
616
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8cpp_source.html#l00188">188</a> of file <a class="el" href="ProgSlice_8cpp_source.html">ProgSlice.cpp</a>.</p>
617
617
  <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;{</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="classSVF_1_1SaberAnnotator.html">SaberAnnotator</a> annotator(<span class="keyword">this</span>);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; annotator.annotateSource();</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; annotator.annotateSinks();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> elems = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">exactCondElem</a>(<a class="code" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">finalCond</a>);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">for</span>(NodeBS::iterator it = elems.begin(), eit = elems.end(); it!=eit; ++it)</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">Condition</a>* atom = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">getCond</a>(*it);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* tinst = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">getCondInst</a>(atom);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ac9a05dd7ab16e998625037aa242cd30f">BranchInst</a>* br = SVFUtil::dyn_cast&lt;BranchInst&gt;(tinst))</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; annotator.annotateFeasibleBranch(br,0);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; annotator.annotateFeasibleBranch(br,1);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_ac9a05dd7ab16e998625037aa242cd30f"><div class="ttname"><a href="namespaceSVF.html#ac9a05dd7ab16e998625037aa242cd30f">SVF::BranchInst</a></div><div class="ttdeci">llvm::BranchInst BranchInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00149">BasicTypes.h:149</a></div></div>
618
618
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a06d79a32f9f550b068813324dac41460"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">SVF::ProgSlice::finalCond</a></div><div class="ttdeci">Condition * finalCond</div><div class="ttdoc">final condition </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00302">ProgSlice.h:302</a></div></div>
619
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a61095843f86d1c5c14750a635fb3aacb"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">SVF::PathCondAllocator::exactCondElem</a></div><div class="ttdeci">NodeBS exactCondElem(Condition *cond)</div><div class="ttdoc">Iterator every element of the condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00104">PathCondAllocator.h:104</a></div></div>
620
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad1fdfabb37f6bb5da6724b95404739e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">SVF::PathCondAllocator::getCond</a></div><div class="ttdeci">Condition * getCond(u32_t i) const</div><div class="ttdoc">Given an z3 expr id, get its condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00116">PathCondAllocator.h:116</a></div></div>
619
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a61095843f86d1c5c14750a635fb3aacb"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">SVF::PathCondAllocator::exactCondElem</a></div><div class="ttdeci">NodeBS exactCondElem(Condition *cond)</div><div class="ttdoc">Iterator every element of the condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00103">PathCondAllocator.h:103</a></div></div>
620
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad1fdfabb37f6bb5da6724b95404739e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">SVF::PathCondAllocator::getCond</a></div><div class="ttdeci">Condition * getCond(u32_t i) const</div><div class="ttdoc">Given an z3 expr id, get its condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00115">PathCondAllocator.h:115</a></div></div>
621
621
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
622
622
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a3dc89d666a0f369ca85e13632676e6aa"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">SVF::ProgSlice::Condition</a></div><div class="ttdeci">PathCondAllocator::Condition Condition</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00047">ProgSlice.h:47</a></div></div>
623
623
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
624
624
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
625
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_adf65b74b89fca76c0cf5ea5dbd6dc4ca"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">SVF::PathCondAllocator::getCondInst</a></div><div class="ttdeci">const Instruction * getCondInst(const Condition *cond) const</div><div class="ttdoc">Get/Set llvm conditional expression. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00132">PathCondAllocator.h:132</a></div></div>
625
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_adf65b74b89fca76c0cf5ea5dbd6dc4ca"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">SVF::PathCondAllocator::getCondInst</a></div><div class="ttdeci">const Instruction * getCondInst(const Condition *cond) const</div><div class="ttdoc">Get/Set llvm conditional expression. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00131">PathCondAllocator.h:131</a></div></div>
626
626
  <div class="ttc" id="classSVF_1_1SaberAnnotator_html"><div class="ttname"><a href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></div><div class="ttdef"><b>Definition:</b> <a href="SaberAnnotator_8h_source.html#l00043">SaberAnnotator.h:43</a></div></div>
627
627
  </div><!-- fragment -->
628
628
  </div>
@@ -710,7 +710,7 @@ Private Attributes</h2></td></tr>
710
710
  <p>TODO: how to clean bdd memory </p>
711
711
 
712
712
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00211">211</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
713
- <div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">clearCFCond</a>();</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a3462dbe3d0f8df08e3b6a6c6ef0b065c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">SVF::PathCondAllocator::clearCFCond</a></div><div class="ttdeci">void clearCFCond()</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00172">PathCondAllocator.h:172</a></div></div>
713
+ <div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">clearCFCond</a>();</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a3462dbe3d0f8df08e3b6a6c6ef0b065c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">SVF::PathCondAllocator::clearCFCond</a></div><div class="ttdeci">void clearCFCond()</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00171">PathCondAllocator.h:171</a></div></div>
714
714
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
715
715
  </div><!-- fragment -->
716
716
  </div>
@@ -756,7 +756,7 @@ Private Attributes</h2></td></tr>
756
756
  </div><div class="memdoc">
757
757
 
758
758
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00246">246</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
759
- <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">ComputeInterCallVFGGuard</a>(src,dst,callBB);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a9c3361e3f37d640b177c3955f3c3667f"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">SVF::PathCondAllocator::ComputeInterCallVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeInterCallVFGGuard(const BasicBlock *src, const BasicBlock *dst, const BasicBlock *callBB)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00450">PathCondAllocator.cpp:450</a></div></div>
759
+ <div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">ComputeInterCallVFGGuard</a>(src,dst,callBB);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a9c3361e3f37d640b177c3955f3c3667f"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">SVF::PathCondAllocator::ComputeInterCallVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeInterCallVFGGuard(const BasicBlock *src, const BasicBlock *dst, const BasicBlock *callBB)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00453">PathCondAllocator.cpp:453</a></div></div>
760
760
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
761
761
  </div><!-- fragment -->
762
762
  </div>
@@ -802,7 +802,7 @@ Private Attributes</h2></td></tr>
802
802
  </div><div class="memdoc">
803
803
 
804
804
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00250">250</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
805
- <div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a5015e36d00ac59ef2b832019b8f922f5">ComputeInterRetVFGGuard</a>(src,dst,retBB);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5015e36d00ac59ef2b832019b8f922f5"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5015e36d00ac59ef2b832019b8f922f5">SVF::PathCondAllocator::ComputeInterRetVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeInterRetVFGGuard(const BasicBlock *src, const BasicBlock *dst, const BasicBlock *retBB)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00465">PathCondAllocator.cpp:465</a></div></div>
805
+ <div class="fragment"><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a5015e36d00ac59ef2b832019b8f922f5">ComputeInterRetVFGGuard</a>(src,dst,retBB);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5015e36d00ac59ef2b832019b8f922f5"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5015e36d00ac59ef2b832019b8f922f5">SVF::PathCondAllocator::ComputeInterRetVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeInterRetVFGGuard(const BasicBlock *src, const BasicBlock *dst, const BasicBlock *retBB)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00468">PathCondAllocator.cpp:468</a></div></div>
806
806
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
807
807
  </div><!-- fragment -->
808
808
  </div>
@@ -845,7 +845,7 @@ Private Attributes</h2></td></tr>
845
845
 
846
846
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00242">242</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
847
847
  <div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a5ab573cce84584c44778611ba6f4d99c">ComputeIntraVFGGuard</a>(src,dst);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
848
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5ab573cce84584c44778611ba6f4d99c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5ab573cce84584c44778611ba6f4d99c">SVF::PathCondAllocator::ComputeIntraVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeIntraVFGGuard(const BasicBlock *src, const BasicBlock *dst)</div><div class="ttdoc">Guard Computation for a value-flow (between two basic blocks) </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00478">PathCondAllocator.cpp:478</a></div></div>
848
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5ab573cce84584c44778611ba6f4d99c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5ab573cce84584c44778611ba6f4d99c">SVF::PathCondAllocator::ComputeIntraVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeIntraVFGGuard(const BasicBlock *src, const BasicBlock *dst)</div><div class="ttdoc">Guard Computation for a value-flow (between two basic blocks) </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00481">PathCondAllocator.cpp:481</a></div></div>
849
849
  </div><!-- fragment -->
850
850
  </div>
851
851
  </div>
@@ -887,7 +887,7 @@ Private Attributes</h2></td></tr>
887
887
 
888
888
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00171">171</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
889
889
  <div class="fragment"><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">condAnd</a>(lhs,rhs);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
890
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ab0e41d1eacfc6ee2cf42a9ce69cdcb61"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">SVF::PathCondAllocator::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00083">PathCondAllocator.h:83</a></div></div>
890
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ab0e41d1eacfc6ee2cf42a9ce69cdcb61"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">SVF::PathCondAllocator::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00082">PathCondAllocator.h:82</a></div></div>
891
891
  </div><!-- fragment -->
892
892
  </div>
893
893
  </div>
@@ -917,7 +917,7 @@ Private Attributes</h2></td></tr>
917
917
 
918
918
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00179">179</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
919
919
  <div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">condNeg</a>(cond);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
920
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac1ed60a8f59a55811c97c83def3bb739"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">SVF::PathCondAllocator::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00091">PathCondAllocator.h:91</a></div></div>
920
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac1ed60a8f59a55811c97c83def3bb739"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">SVF::PathCondAllocator::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00090">PathCondAllocator.h:90</a></div></div>
921
921
  </div><!-- fragment -->
922
922
  </div>
923
923
  </div>
@@ -956,7 +956,7 @@ Private Attributes</h2></td></tr>
956
956
  </div><div class="memdoc">
957
957
 
958
958
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00175">175</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
959
- <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">condOr</a>(lhs,rhs);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5a8c25d74ffc2a8f8dbd20faab4d9803"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">SVF::PathCondAllocator::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00087">PathCondAllocator.h:87</a></div></div>
959
+ <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">condOr</a>(lhs,rhs);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5a8c25d74ffc2a8f8dbd20faab4d9803"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">SVF::PathCondAllocator::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00086">PathCondAllocator.h:86</a></div></div>
960
960
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
961
961
  </div><!-- fragment -->
962
962
  </div>
@@ -1017,7 +1017,7 @@ Private Attributes</h2></td></tr>
1017
1017
 
1018
1018
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00191">191</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
1019
1019
  <div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">dumpCond</a>(cond);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1020
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_aae773a674331bb80cc589835e0b16e4e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">SVF::PathCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(Condition *cond) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00111">PathCondAllocator.h:111</a></div></div>
1020
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_aae773a674331bb80cc589835e0b16e4e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">SVF::PathCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(Condition *cond) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00110">PathCondAllocator.h:110</a></div></div>
1021
1021
  </div><!-- fragment -->
1022
1022
  </div>
1023
1023
  </div>
@@ -1043,17 +1043,17 @@ Private Attributes</h2></td></tr>
1043
1043
 
1044
1044
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8cpp_source.html#l00160">160</a> of file <a class="el" href="ProgSlice_8cpp_source.html">ProgSlice.cpp</a>.</p>
1045
1045
  <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;{</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; std::string str;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> elems = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">exactCondElem</a>(<a class="code" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">finalCond</a>);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;std::string&gt;</a> locations;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">for</span>(NodeBS::iterator it = elems.begin(), eit = elems.end(); it!=eit; ++it)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">Condition</a>* atom = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">getCond</a>(*it);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* tinst = <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">getCondInst</a>(atom);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a7182283f15c556e9d0e9fdc6d62efeef">isNegCond</a>(atom))</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; locations.insert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(tinst)+<span class="stringliteral">&quot;|False&quot;</span>);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; locations.insert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(tinst)+<span class="stringliteral">&quot;|True&quot;</span>);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;std::string&gt;::iterator</a> iter = locations.begin(), eiter = locations.end();</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; iter!=eiter; ++iter)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; *iter &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;}</div><div class="ttc" id="classSVF_1_1ProgSlice_html_a06d79a32f9f550b068813324dac41460"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">SVF::ProgSlice::finalCond</a></div><div class="ttdeci">Condition * finalCond</div><div class="ttdoc">final condition </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00302">ProgSlice.h:302</a></div></div>
1046
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a61095843f86d1c5c14750a635fb3aacb"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">SVF::PathCondAllocator::exactCondElem</a></div><div class="ttdeci">NodeBS exactCondElem(Condition *cond)</div><div class="ttdoc">Iterator every element of the condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00104">PathCondAllocator.h:104</a></div></div>
1046
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a61095843f86d1c5c14750a635fb3aacb"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb">SVF::PathCondAllocator::exactCondElem</a></div><div class="ttdeci">NodeBS exactCondElem(Condition *cond)</div><div class="ttdoc">Iterator every element of the condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00103">PathCondAllocator.h:103</a></div></div>
1047
1047
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
1048
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad1fdfabb37f6bb5da6724b95404739e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">SVF::PathCondAllocator::getCond</a></div><div class="ttdeci">Condition * getCond(u32_t i) const</div><div class="ttdoc">Given an z3 expr id, get its condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00116">PathCondAllocator.h:116</a></div></div>
1048
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad1fdfabb37f6bb5da6724b95404739e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad1fdfabb37f6bb5da6724b95404739e2">SVF::PathCondAllocator::getCond</a></div><div class="ttdeci">Condition * getCond(u32_t i) const</div><div class="ttdoc">Given an z3 expr id, get its condition. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00115">PathCondAllocator.h:115</a></div></div>
1049
1049
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00097">SVFBasicTypes.h:97</a></div></div>
1050
1050
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
1051
1051
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a3dc89d666a0f369ca85e13632676e6aa"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">SVF::ProgSlice::Condition</a></div><div class="ttdeci">PathCondAllocator::Condition Condition</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00047">ProgSlice.h:47</a></div></div>
1052
1052
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
1053
1053
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1054
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a7182283f15c556e9d0e9fdc6d62efeef"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a7182283f15c556e9d0e9fdc6d62efeef">SVF::PathCondAllocator::isNegCond</a></div><div class="ttdeci">bool isNegCond(const Condition *condition)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00141">PathCondAllocator.h:141</a></div></div>
1054
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a7182283f15c556e9d0e9fdc6d62efeef"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a7182283f15c556e9d0e9fdc6d62efeef">SVF::PathCondAllocator::isNegCond</a></div><div class="ttdeci">bool isNegCond(const Condition *condition)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00140">PathCondAllocator.h:140</a></div></div>
1055
1055
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
1056
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_adf65b74b89fca76c0cf5ea5dbd6dc4ca"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">SVF::PathCondAllocator::getCondInst</a></div><div class="ttdeci">const Instruction * getCondInst(const Condition *cond) const</div><div class="ttdoc">Get/Set llvm conditional expression. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00132">PathCondAllocator.h:132</a></div></div>
1056
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_adf65b74b89fca76c0cf5ea5dbd6dc4ca"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#adf65b74b89fca76c0cf5ea5dbd6dc4ca">SVF::PathCondAllocator::getCondInst</a></div><div class="ttdeci">const Instruction * getCondInst(const Condition *cond) const</div><div class="ttdoc">Get/Set llvm conditional expression. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00131">PathCondAllocator.h:131</a></div></div>
1057
1057
  </div><!-- fragment -->
1058
1058
  </div>
1059
1059
  </div>
@@ -1222,7 +1222,7 @@ Private Attributes</h2></td></tr>
1222
1222
  </div><div class="memdoc">
1223
1223
 
1224
1224
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00187">187</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
1225
- <div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">getFalseCond</a>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a0d059c9adce2c998ddf2489376beb8e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">SVF::PathCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition * getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00099">PathCondAllocator.h:99</a></div></div>
1225
+ <div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">getFalseCond</a>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a0d059c9adce2c998ddf2489376beb8e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">SVF::PathCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition * getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00098">PathCondAllocator.h:98</a></div></div>
1226
1226
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1227
1227
  </div><!-- fragment -->
1228
1228
  </div>
@@ -1419,7 +1419,7 @@ Private Attributes</h2></td></tr>
1419
1419
  </div><div class="memdoc">
1420
1420
 
1421
1421
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00183">183</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
1422
- <div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">getTrueCond</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00095">PathCondAllocator.h:95</a></div></div>
1422
+ <div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">getTrueCond</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; }</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00094">PathCondAllocator.h:94</a></div></div>
1423
1423
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1424
1424
  </div><!-- fragment -->
1425
1425
  </div>
@@ -1578,7 +1578,7 @@ Private Attributes</h2></td></tr>
1578
1578
  </div><div class="memdoc">
1579
1579
 
1580
1580
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00256">256</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
1581
- <div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">isEquivalentBranchCond</a>(lhs, rhs);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad92e8909172d960de8a25f6ff0272261"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">SVF::PathCondAllocator::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition *lhs, const Condition *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00201">PathCondAllocator.h:201</a></div></div>
1581
+ <div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">isEquivalentBranchCond</a>(lhs, rhs);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; };</div><div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad92e8909172d960de8a25f6ff0272261"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">SVF::PathCondAllocator::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition *lhs, const Condition *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00200">PathCondAllocator.h:200</a></div></div>
1582
1582
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1583
1583
  </div><!-- fragment -->
1584
1584
  </div>
@@ -1665,7 +1665,7 @@ Private Attributes</h2></td></tr>
1665
1665
  <div class="ttc" id="classSVF_1_1ProgSlice_html_a3dc89d666a0f369ca85e13632676e6aa"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">SVF::ProgSlice::Condition</a></div><div class="ttdeci">PathCondAllocator::Condition Condition</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00047">ProgSlice.h:47</a></div></div>
1666
1666
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1667
1667
  <div class="ttc" id="classSVF_1_1ProgSlice_html_adf620c97daed49735d21b485c448b4a2"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adf620c97daed49735d21b485c448b4a2">SVF::ProgSlice::sinksBegin</a></div><div class="ttdeci">SVFGNodeSetIter sinksBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00124">ProgSlice.h:124</a></div></div>
1668
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a51c55809f28eee5b8432ab4508f9a887"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a51c55809f28eee5b8432ab4508f9a887">SVF::PathCondAllocator::isAllPathReachable</a></div><div class="ttdeci">bool isAllPathReachable(Condition *condition)</div><div class="ttdoc">whether condition is satisfiable for all possible boolean guards </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00197">PathCondAllocator.h:197</a></div></div>
1668
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a51c55809f28eee5b8432ab4508f9a887"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a51c55809f28eee5b8432ab4508f9a887">SVF::PathCondAllocator::isAllPathReachable</a></div><div class="ttdeci">bool isAllPathReachable(Condition *condition)</div><div class="ttdoc">whether condition is satisfiable for all possible boolean guards </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00196">PathCondAllocator.h:196</a></div></div>
1669
1669
  <div class="ttc" id="classSVF_1_1ProgSlice_html_ac57638eaa2f656b8a7a5e3484c8e1265"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac57638eaa2f656b8a7a5e3484c8e1265">SVF::ProgSlice::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00175">ProgSlice.h:175</a></div></div>
1670
1670
  </div><!-- fragment -->
1671
1671
  </div>
@@ -1752,7 +1752,7 @@ Private Attributes</h2></td></tr>
1752
1752
 
1753
1753
  <p class="definition">Definition at line <a class="el" href="ProgSlice_8h_source.html#l00279">279</a> of file <a class="el" href="ProgSlice_8h_source.html">ProgSlice.h</a>.</p>
1754
1754
  <div class="fragment"><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">_curSVFGNode</a> = node;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-&gt;<a class="code" href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">setCurEvalSVFGNode</a>(node);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_adc27c77d68f54030bdbb714139a974e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">SVF::ProgSlice::pathAllocator</a></div><div class="ttdeci">PathCondAllocator * pathAllocator</div><div class="ttdoc">path condition allocator </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00300">ProgSlice.h:300</a></div></div>
1755
- <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a68f93a9271efcbb4728066a8d5639628"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">SVF::PathCondAllocator::setCurEvalSVFGNode</a></div><div class="ttdeci">void setCurEvalSVFGNode(const SVFGNode *node)</div><div class="ttdoc">Set current value for branch condition evaluation. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00177">PathCondAllocator.h:177</a></div></div>
1755
+ <div class="ttc" id="classSVF_1_1PathCondAllocator_html_a68f93a9271efcbb4728066a8d5639628"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">SVF::PathCondAllocator::setCurEvalSVFGNode</a></div><div class="ttdeci">void setCurEvalSVFGNode(const SVFGNode *node)</div><div class="ttdoc">Set current value for branch condition evaluation. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00176">PathCondAllocator.h:176</a></div></div>
1756
1756
  <div class="ttc" id="classSVF_1_1ProgSlice_html_af3095788fc3d7798abfae10e3216968b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">SVF::ProgSlice::_curSVFGNode</a></div><div class="ttdeci">const SVFGNode * _curSVFGNode</div><div class="ttdoc">current svfg node during guard computation </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00301">ProgSlice.h:301</a></div></div>
1757
1757
  </div><!-- fragment -->
1758
1758
  </div>
@@ -632,7 +632,7 @@ Additional Inherited Members</h2></td></tr>
632
632
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
633
633
  <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
634
634
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
635
- <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
635
+ <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
636
636
  </div><!-- fragment -->
637
637
  </div>
638
638
  </div>
@@ -125,7 +125,7 @@ Additional Inherited Members</h2></td></tr>
125
125
  </table>
126
126
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
127
127
  <div class="textblock">
128
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00279">279</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
128
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00284">284</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
129
129
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
130
130
  <a id="abf53678f536d64c4d979600c9fe429d1"></a>
131
131
  <h2 class="memtitle"><span class="permalink"><a href="#abf53678f536d64c4d979600c9fe429d1">&#9670;&nbsp;</a></span>SVFBasicBlock()</h2>
@@ -151,8 +151,8 @@ Additional Inherited Members</h2></td></tr>
151
151
  </table>
152
152
  </div><div class="memdoc">
153
153
 
154
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00283">283</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
- <div class="fragment"><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFValue::SVFBB</a>)</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_a2a85562586efde20be8ac1ccbd1a5ee6"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const llvm::StringRef &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00220">SVFBasicTypes.h:220</a></div></div>
154
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00288">288</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
+ <div class="fragment"><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFValue::SVFBB</a>)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_a2a85562586efde20be8ac1ccbd1a5ee6"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const llvm::StringRef &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00220">SVFBasicTypes.h:220</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVF::SVFValue::SVFBB</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00211">SVFBasicTypes.h:211</a></div></div>
157
157
  </div><!-- fragment -->
158
158
  </div>
@@ -72,30 +72,31 @@ $(function() {
72
72
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
73
73
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a1f2c6271dfefc6db685569e6c0cbedf5">classof</a>(const SVFValue *node)</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
74
74
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
75
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
76
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
77
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
78
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a50f77757ac9c37a9501eb48deccdfef1">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
79
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
80
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
81
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
82
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
83
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
84
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
85
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#ac64744d3e0c41be76ceef4b5715050b5">operator!=</a>(SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
86
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#abaa61e04b128feff7216d3ecdf4feefa">operator()</a>(const SVFValue *lhs, const SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#aa171d1126f4ac00c3310d58d9b77c587">operator==</a>(SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
88
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
89
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
90
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVFFunction</a>(const std::string &amp;val)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
91
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVFFunction</a>(Function *f)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
92
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
93
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd">SVFInst</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
94
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e">SVFVal</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
95
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
96
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVFValue</a>(const llvm::StringRef &amp;val, SVFValKind k)</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
97
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">viewCFG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
98
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#af9dfd6804b5ebda0d4a963b1ce5e6887">viewCFGOnly</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">getArg</a>(u32_t idx) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
76
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
77
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
78
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
79
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a50f77757ac9c37a9501eb48deccdfef1">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
80
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
81
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
82
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
83
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
84
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
85
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
86
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#ac64744d3e0c41be76ceef4b5715050b5">operator!=</a>(SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#abaa61e04b128feff7216d3ecdf4feefa">operator()</a>(const SVFValue *lhs, const SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
88
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#aa171d1126f4ac00c3310d58d9b77c587">operator==</a>(SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
89
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
90
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
91
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVFFunction</a>(const std::string &amp;val)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
92
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVFFunction</a>(Function *f)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
93
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
94
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd">SVFInst</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
95
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e">SVFVal</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
96
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> enum name</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"></td></tr>
97
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2a85562586efde20be8ac1ccbd1a5ee6">SVFValue</a>(const llvm::StringRef &amp;val, SVFValKind k)</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
98
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">viewCFG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
99
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#af9dfd6804b5ebda0d4a963b1ce5e6887">viewCFGOnly</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
99
100
  </table></div><!-- contents -->
100
101
  <!-- start footer part -->
101
102
  <hr class="footer"/><address class="footer"><small>
@@ -96,6 +96,8 @@ Public Member Functions</h2></td></tr>
96
96
  <tr class="separator:a7b4c6c7143d012802ea5ee962bec2deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
97
  <tr class="memitem:a3757cd3ae587eaca488fa4cd8ad3967d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a> () const</td></tr>
98
98
  <tr class="separator:a3757cd3ae587eaca488fa4cd8ad3967d"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
+ <tr class="memitem:a59b01d4e4d83db08e9df3e165e37c29a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">getArg</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx) const</td></tr>
100
+ <tr class="separator:a59b01d4e4d83db08e9df3e165e37c29a"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
101
  <tr class="memitem:a3c1fa59deae39c75c72c97e47326d982"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a> () const</td></tr>
100
102
  <tr class="separator:a3c1fa59deae39c75c72c97e47326d982"><td class="memSeparator" colspan="2">&#160;</td></tr>
101
103
  <tr class="memitem:a10bba41af683e8902f65aa1b736411dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">viewCFG</a> ()</td></tr>
@@ -248,6 +250,35 @@ Additional Inherited Members</h2></td></tr>
248
250
  </div><!-- fragment -->
249
251
  </div>
250
252
  </div>
253
+ <a id="a59b01d4e4d83db08e9df3e165e37c29a"></a>
254
+ <h2 class="memtitle"><span class="permalink"><a href="#a59b01d4e4d83db08e9df3e165e37c29a">&#9670;&nbsp;</a></span>getArg()</h2>
255
+
256
+ <div class="memitem">
257
+ <div class="memproto">
258
+ <table class="mlabels">
259
+ <tr>
260
+ <td class="mlabels-left">
261
+ <table class="memname">
262
+ <tr>
263
+ <td class="memname">const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* SVF::SVFFunction::getArg </td>
264
+ <td>(</td>
265
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td>
266
+ <td class="paramname"><em>idx</em></td><td>)</td>
267
+ <td> const</td>
268
+ </tr>
269
+ </table>
270
+ </td>
271
+ <td class="mlabels-right">
272
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
273
+ </tr>
274
+ </table>
275
+ </div><div class="memdoc">
276
+
277
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00256">256</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
278
+ <div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;getArg(idx);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00235">BasicTypes.h:235</a></div></div>
279
+ </div><!-- fragment -->
280
+ </div>
281
+ </div>
251
282
  <a id="ac4ae917ae35ac6fca652fe2dd90a8ac2"></a>
252
283
  <h2 class="memtitle"><span class="permalink"><a href="#ac4ae917ae35ac6fca652fe2dd90a8ac2">&#9670;&nbsp;</a></span>getLLVMFun()</h2>
253
284
 
@@ -356,8 +387,8 @@ Additional Inherited Members</h2></td></tr>
356
387
  </table>
357
388
  </div><div class="memdoc">
358
389
 
359
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00256">256</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
360
- <div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;isVarArg();</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00235">BasicTypes.h:235</a></div></div>
390
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00261">261</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
391
+ <div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;isVarArg();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00235">BasicTypes.h:235</a></div></div>
361
392
  </div><!-- fragment -->
362
393
  </div>
363
394
  </div>
@@ -3410,7 +3410,7 @@ Additional Inherited Members</h2></td></tr>
3410
3410
  <p>Whether this is an function entry SVFGNode (formal parameter, formal In) </p>
3411
3411
 
3412
3412
  <p class="definition">Definition at line <a class="el" href="SVFG_8cpp_source.html#l00698">698</a> of file <a class="el" href="SVFG_8cpp_source.html">SVFG.cpp</a>.</p>
3413
- <div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> fp-&gt;getFun();</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterPHIVFGNode.html">InterPHISVFGNode</a>* phi = SVFUtil::dyn_cast&lt;InterPHISVFGNode&gt;(node))</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">if</span>(phi-&gt;isFormalParmPHI())</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">return</span> phi-&gt;getFun();</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">return</span> fi-&gt;getFun();</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;InterMSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span>(mphi-&gt;isFormalINPHI())</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">return</span> phi-&gt;getFun();</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;}</div><div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html">SVF::InterMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00404">SVFGNode.h:404</a></div></div>
3413
+ <div class="fragment"><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalParmVFGNode.html">FormalParmSVFGNode</a>* fp = SVFUtil::dyn_cast&lt;FormalParmSVFGNode&gt;(node))</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">return</span> fp-&gt;getFun();</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterPHIVFGNode.html">InterPHISVFGNode</a>* phi = SVFUtil::dyn_cast&lt;InterPHISVFGNode&gt;(node))</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">if</span>(phi-&gt;isFormalParmPHI())</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">return</span> phi-&gt;getFun();</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* fi = SVFUtil::dyn_cast&lt;FormalINSVFGNode&gt;(node))</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">return</span> fi-&gt;getFun();</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1InterMSSAPHISVFGNode.html">InterMSSAPHISVFGNode</a>* mphi = SVFUtil::dyn_cast&lt;InterMSSAPHISVFGNode&gt;(node))</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span>(mphi-&gt;isFormalINPHI())</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">return</span> mphi-&gt;getFun();</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;}</div><div class="ttc" id="classSVF_1_1InterMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterMSSAPHISVFGNode.html">SVF::InterMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00404">SVFGNode.h:404</a></div></div>
3414
3414
  <div class="ttc" id="classSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00908">VFGNode.h:908</a></div></div>
3415
3415
  <div class="ttc" id="classSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
3416
3416
  <div class="ttc" id="classSVF_1_1InterPHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterPHIVFGNode.html">SVF::InterPHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01101">VFGNode.h:1101</a></div></div>