svf-tools 1.0.573 → 1.0.574

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 (377) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  5. package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
  6. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
  7. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
  9. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  10. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +3 -3
  11. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +18 -18
  15. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
  16. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  17. package/SVF-doxygen/html/html/CHG_8cpp_source.html +10 -10
  18. package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
  19. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +21 -21
  20. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +3 -3
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
  25. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
  27. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  28. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +22 -22
  29. package/SVF-doxygen/html/html/DCHG_8h_source.html +9 -9
  30. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
  34. package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
  36. package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +10 -10
  37. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  39. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  41. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  45. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
  49. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +8 -8
  51. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  52. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  53. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
  54. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
  55. package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
  56. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +10 -10
  57. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/IRGraph_8h_source.html +3 -3
  59. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +5 -5
  60. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +22 -20
  61. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +13 -13
  62. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +23 -23
  63. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +16 -16
  64. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  65. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +5 -5
  67. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  68. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +8 -8
  69. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +4 -4
  70. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +13 -13
  71. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
  72. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  73. package/SVF-doxygen/html/html/MHP_8cpp_source.html +14 -14
  74. package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
  75. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  76. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
  77. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +5 -5
  78. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +16 -16
  79. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +7 -7
  80. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
  81. package/SVF-doxygen/html/html/MTA_8cpp_source.html +6 -6
  82. package/SVF-doxygen/html/html/MTA_8h_source.html +5 -5
  83. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  84. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
  86. package/SVF-doxygen/html/html/MemRegion_8h_source.html +3 -3
  87. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  88. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  89. package/SVF-doxygen/html/html/PCG_8cpp_source.html +8 -8
  90. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
  92. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  94. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  95. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +13 -13
  96. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
  97. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
  98. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +7 -7
  99. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +8 -0
  100. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +84 -81
  101. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  102. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  103. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  104. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
  105. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  106. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +49 -52
  107. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +45 -45
  108. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -2
  109. package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
  110. package/SVF-doxygen/html/html/SVFModule_8h_source.html +10 -10
  111. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +2 -2
  112. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
  113. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +3 -3
  114. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +12 -12
  115. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +10 -10
  116. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  117. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -6
  118. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
  119. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  120. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +28 -30
  121. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +43 -47
  122. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  123. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
  124. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  125. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +34 -36
  126. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +5 -5
  127. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +9 -9
  128. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +8 -8
  129. package/SVF-doxygen/html/html/TCT_8cpp_source.html +14 -14
  130. package/SVF-doxygen/html/html/TCT_8h_source.html +11 -11
  131. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +4 -4
  132. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  133. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  134. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
  135. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
  136. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -7
  137. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +93 -94
  138. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  139. package/SVF-doxygen/html/html/VFG_8cpp_source.html +4 -4
  140. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  141. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  142. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
  143. package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -3
  144. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
  151. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
  161. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +7 -7
  162. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +35 -35
  164. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +7 -7
  165. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
  168. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  169. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  170. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1CallSite-members.html +18 -21
  172. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +37 -120
  173. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +6 -6
  179. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
  183. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
  184. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +57 -57
  185. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  190. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  192. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +5 -5
  193. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +5 -5
  194. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  196. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +22 -22
  198. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  201. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +2 -2
  203. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
  206. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
  209. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  210. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +13 -13
  212. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  215. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +8 -8
  216. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
  221. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  223. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +5 -5
  229. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +58 -56
  230. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  231. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  232. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  233. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +6 -6
  234. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +32 -32
  235. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +15 -15
  236. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +26 -26
  237. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +10 -10
  238. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  239. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +6 -6
  241. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
  242. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +30 -30
  243. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +9 -9
  244. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +6 -6
  245. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  246. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +16 -16
  247. package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
  248. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  249. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +20 -20
  252. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  253. package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
  254. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  255. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  258. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +19 -19
  259. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +12 -12
  260. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +9 -9
  261. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  262. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  263. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  264. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  265. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  266. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  268. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +22 -17
  269. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +279 -111
  270. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  271. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +92 -98
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +2 -2
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +2 -2
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  277. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
  278. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator-members.html +27 -28
  279. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +118 -153
  280. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  281. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  282. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  283. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  284. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +48 -50
  286. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +10 -10
  287. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +30 -30
  288. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  289. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  290. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +4 -4
  291. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +9 -9
  292. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  293. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  294. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  295. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
  297. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  298. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  299. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
  300. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  301. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  302. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  303. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  304. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
  306. package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
  307. package/SVF-doxygen/html/html/functions_a.html +7 -13
  308. package/SVF-doxygen/html/html/functions_b.html +7 -4
  309. package/SVF-doxygen/html/html/functions_func.html +10 -13
  310. package/SVF-doxygen/html/html/functions_func_g.html +14 -11
  311. package/SVF-doxygen/html/html/functions_func_h.html +5 -2
  312. package/SVF-doxygen/html/html/functions_func_i.html +5 -2
  313. package/SVF-doxygen/html/html/functions_func_s.html +11 -11
  314. package/SVF-doxygen/html/html/functions_g.html +16 -13
  315. package/SVF-doxygen/html/html/functions_h.html +6 -3
  316. package/SVF-doxygen/html/html/functions_i.html +10 -7
  317. package/SVF-doxygen/html/html/functions_l.html +3 -3
  318. package/SVF-doxygen/html/html/functions_m.html +1 -1
  319. package/SVF-doxygen/html/html/functions_o.html +15 -15
  320. package/SVF-doxygen/html/html/functions_p.html +8 -12
  321. package/SVF-doxygen/html/html/functions_s.html +6 -6
  322. package/SVF-doxygen/html/html/functions_t.html +7 -7
  323. package/SVF-doxygen/html/html/functions_type.html +0 -3
  324. package/SVF-doxygen/html/html/functions_v.html +6 -6
  325. package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
  326. package/SVF-doxygen/html/html/functions_w.html +11 -11
  327. package/SVF-doxygen/html/html/namespaceSVF.html +123 -120
  328. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +47 -47
  329. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +19 -19
  330. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +40 -40
  331. package/SVF-doxygen/html/html/search/all_1.js +1 -3
  332. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  333. package/SVF-doxygen/html/html/search/all_11.js +2 -2
  334. package/SVF-doxygen/html/html/search/all_12.js +9 -9
  335. package/SVF-doxygen/html/html/search/all_13.js +4 -4
  336. package/SVF-doxygen/html/html/search/all_15.js +3 -3
  337. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  338. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  339. package/SVF-doxygen/html/html/search/all_7.js +2 -1
  340. package/SVF-doxygen/html/html/search/all_8.js +1 -0
  341. package/SVF-doxygen/html/html/search/all_9.js +1 -0
  342. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  343. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  344. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  345. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  346. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  347. package/SVF-doxygen/html/html/search/functions_0.js +1 -2
  348. package/SVF-doxygen/html/html/search/functions_11.js +2 -2
  349. package/SVF-doxygen/html/html/search/functions_6.js +2 -1
  350. package/SVF-doxygen/html/html/search/functions_7.js +1 -0
  351. package/SVF-doxygen/html/html/search/functions_8.js +1 -0
  352. package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
  353. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  354. package/SVF-doxygen/html/html/search/variables_2.js +1 -0
  355. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  356. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
  357. package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
  358. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
  359. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  360. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
  361. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  362. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
  363. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
  364. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
  365. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  366. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  367. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  368. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  369. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
  370. package/include/SABER/SaberCondAllocator.h +0 -7
  371. package/include/SVF-FE/BasicTypes.h +7 -0
  372. package/include/Util/BasicTypes.h +52 -17
  373. package/lib/SABER/SaberCondAllocator.cpp +7 -9
  374. package/lib/SVF-FE/LLVMModule.cpp +8 -0
  375. package/lib/SVF-FE/SVFIRBuilder.cpp +2 -2
  376. package/lib/SVF-FE/SymbolTableBuilder.cpp +2 -2
  377. package/package.json +1 -1
@@ -66,120 +66,119 @@ $(function() {
66
66
  <div class="title">BasicTypes.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="Util_2BasicTypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- BasicTypes.h -- Basic types used in SVF-------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * BasicTypes.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Apr 1, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef BASICTYPES_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define BASICTYPES_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="GraphPrinter_8h.html">Graphs/GraphPrinter.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Casting_8h.html">Util/Casting.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/SparseBitVector.h&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/Instructions.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/InstVisitor.h&gt;</span> <span class="comment">// for instruction visitor</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/InstIterator.h&gt;</span> <span class="comment">// for inst iteration</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/GetElementPtrTypeIterator.h&gt;</span> <span class="comment">//for gep iterator</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/StringExtras.h&gt;</span> <span class="comment">// for utostr_32</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/AliasAnalysis.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/CallGraph.h&gt;</span> <span class="comment">// call graph</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/GlobalVariable.h&gt;</span> <span class="comment">// for GlobalVariable</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;llvm/Bitcode/BitcodeWriter.h&gt;</span> <span class="comment">// for WriteBitcodeToFile</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;llvm/Bitcode/BitcodeReader.h&gt;</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &lt;llvm/IRReader/IRReader.h&gt;</span> <span class="comment">// IR reader for bit file</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/DominanceFrontier.h&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/PostDominators.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/GraphTraits.h&gt;</span> <span class="comment">// for Graphtraits</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &lt;llvm/Transforms/Utils/Local.h&gt;</span> <span class="comment">// for FindDbgAddrUses</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#if (LLVM_VERSION_MAJOR &gt;= 14)</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &lt;llvm/BinaryFormat/Dwarf.h&gt;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;llvm/Analysis/LoopInfo.h&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;llvm/IR/CFG.h&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="preprocessor">#include &quot;llvm/BinaryFormat/Dwarf.h&quot;</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d"> 65</a></span>&#160;<span class="keyword">class </span>BddCond;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">llvm::Type</a> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1"> 70</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">llvm::Function</a> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965"> 71</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">llvm::BasicBlock</a> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda"> 72</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::Value</a> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e"> 73</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">llvm::Instruction</a> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73"> 74</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">llvm::CallBase</a> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f"> 75</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">llvm::GlobalValue</a> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e"> 76</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">llvm::GlobalVariable</a> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df"> 77</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">llvm::User</a> <a class="code" href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">User</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314"> 78</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">llvm::Loop</a> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5"> 79</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">llvm::LoopInfo</a> <a class="code" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">LoopInfo</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0"> 82</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">llvm::raw_string_ostream</a> <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba"> 83</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">llvm::raw_fd_ostream</a> <a class="code" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">raw_fd_ostream</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb"> 86</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">llvm::StructType</a> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3"> 87</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">llvm::ArrayType</a> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b"> 88</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">llvm::PointerType</a> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a"> 89</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">llvm::FunctionType</a> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801"> 92</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">llvm::Argument</a> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7"> 93</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">llvm::ConstantInt</a> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca"> 94</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">llvm::ConstantPointerNull</a> <a class="code" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">ConstantPointerNull</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc"> 95</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">llvm::GlobalAlias</a> <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">GlobalAlias</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71"> 98</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">llvm::NamedMDNode</a> <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">NamedMDNode</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb"> 99</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">llvm::MDNode</a> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63"> 102</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">llvm::CallInst</a> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5"> 103</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">llvm::StoreInst</a> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">StoreInst</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0"> 104</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">llvm::LoadInst</a> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#if LLVM_VERSION_MAJOR &gt;= 11</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;<span class="keyword">typedef</span> llvm::const_succ_iterator <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5"> 111</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">llvm::succ_const_iterator</a> <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637"> 113</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classllvm_1_1GraphPrinter.html">llvm::GraphPrinter</a> <a class="code" href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637">GraphPrinter</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91"> 114</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">llvm::IntegerType</a> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;<span class="comment">// LLVM Debug Information</span></div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295"> 117</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> <a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">DISubprogram</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html"> 119</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9"> 122</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3"> 123</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623"> 124</a></span>&#160; Function* <a class="code" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc"> 125</a></span>&#160; BasicBlock* <a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60"> 126</a></span>&#160; std::vector&lt;const BasicBlock*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea"> 127</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6"> 128</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b"> 129</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b"> 130</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe"> 131</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944"> 133</a></span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVFFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>),</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; isDecl(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isIntri(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), fun(nullptr), exitBB(nullptr), isUncalled(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isNotRet(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; {</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3"> 138</a></span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVFFunction</a>(Function* f): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(f-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>().str(),<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>),</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; isDecl(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()), isIntri(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()), fun(f), exitBB(nullptr), isUncalled(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isNotRet(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022"> 143</a></span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022">SVFFunction</a>(Function* f, BasicBlock* exitBB, std::vector&lt;const BasicBlock*&gt; reachableBBs): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(f-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>().str(),<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>),</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; isDecl(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()), isIntri(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()), fun(f), exitBB(exitBB), reachableBBs(reachableBBs), isUncalled(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isNotRet(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2"> 148</a></span>&#160; <span class="keyword">inline</span> Function* <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; assert(fun &amp;&amp; <span class="stringliteral">&quot;no LLVM Function found!&quot;</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76"> 154</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb"> 159</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; }</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d"> 164</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;arg_size();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a"> 169</a></span>&#160; <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">getArg</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</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="l00172"></a><span class="lineno"> 172</span>&#160; }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982"> 174</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</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="l00177"></a><span class="lineno"> 177</span>&#160; }</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"><a class="line" href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4"> 179</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4">getReachableBBs</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keyword"> </span>{</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_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845"> 184</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4"> 189</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4">setIsUncalledFunction</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>)</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; this-&gt;isUncalled = <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>;</div><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;</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf"> 194</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf">setIsNotRet</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> doesNotRet)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; this-&gt;isNotRet = doesNotRet;</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;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf"> 199</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf">setExitBB</a>(BasicBlock* exitBB)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; this-&gt;exitBB = <a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1"> 204</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1">setReachableBBs</a>(std::vector&lt;const BasicBlock*&gt; reachableBBs)</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; this-&gt;reachableBBs = <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c"> 209</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722"> 214</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722">getDomFrontierMap</a>()</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d"> 219</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">getPostDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430"> 224</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430">getPostDomTreeMap</a>()</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e"> 229</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">getDomTreeMap</a>()</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30"> 234</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30">getDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519"> 239</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(<span class="keyword">const</span> BasicBlock* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> std::find(reachableBBs.begin(), reachableBBs.end(), bb)==reachableBBs.end();</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347"> 244</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347">isNotRetFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a>;</div><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;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095"> 249</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> BasicBlock* <a class="code" href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095">getExitBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68"> 254</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68">dominate</a>(<span class="keyword">const</span> BasicBlock* bbKey, <span class="keyword">const</span> BasicBlock* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbValue))</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; }</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbKey))</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; dtBBsMap = <a class="code" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">getDomTreeMap</a>();</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div><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;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</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"><a class="line" href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d"> 285</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d">postDominate</a>(<span class="keyword">const</span> BasicBlock* bbKey, <span class="keyword">const</span> BasicBlock* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</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; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbValue))</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbKey))</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; dtBBsMap = <a class="code" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">getPostDomTreeMap</a>();</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="comment">// Dump Control Flow Graph of llvm function, with instructions</span></div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">viewCFG</a>();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="comment">// Dump Control Flow Graph of llvm function, without instructions</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#af9dfd6804b5ebda0d4a963b1ce5e6887">viewCFGOnly</a>();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;};</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobal.html"> 323</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFGlobal.html">SVFGlobal</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717"> 327</a></span>&#160; <a class="code" href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717">SVFGlobal</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a>)</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; }</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;};</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html"> 333</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160;{</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1"> 337</a></span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1">SVFBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a>)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; }</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;};</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html"> 343</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallSite.html">CallSite</a></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;{</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c"> 346</a></span>&#160; CallBase *<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df"> 348</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df">CallSite</a>(Instruction *I) : CB(<a class="code" href="namespaceSVFUtil.html">SVFUtil</a>::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a>&lt;CallBase&gt;(I)) {}</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98"> 349</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98">CallSite</a>(Value *I) : CB(<a class="code" href="namespaceSVFUtil.html">SVFUtil</a>::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a>&lt;CallBase&gt;(I)) {}</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1"> 351</a></span>&#160; CallBase *<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> CB;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac1cdfe5e54026960a23142e26b3150ff"> 355</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classSVF_1_1CallSite.html#ac1cdfe5e54026960a23142e26b3150ff">arg_iterator</a> = User::const_op_iterator;</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2"> 356</a></span>&#160; Value *<a class="code" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">getArgument</a>(<span class="keywordtype">unsigned</span> ArgNo)<span class="keyword"> const</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordflow">return</span> CB-&gt;getArgOperand(ArgNo);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de"> 360</a></span>&#160; Type *<a class="code" href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> CB-&gt;getType();</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; }</div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aabc0054b7f4e06b7ca0b6072746984e6"> 364</a></span>&#160; User::const_op_iterator <a class="code" href="classSVF_1_1CallSite.html#aabc0054b7f4e06b7ca0b6072746984e6">arg_begin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_begin();</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; }</div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a46e8ffe430bb2711abaafc9d7864909e"> 368</a></span>&#160; User::const_op_iterator <a class="code" href="classSVF_1_1CallSite.html#a46e8ffe430bb2711abaafc9d7864909e">arg_end</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_end();</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27"> 372</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_size();</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3"> 376</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3">arg_empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_empty();</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; }</div><div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a"> 380</a></span>&#160; Value *<a class="code" href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a">getArgOperand</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <span class="keywordflow">return</span> CB-&gt;getArgOperand(i);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e"> 384</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_size();</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf"> 388</a></span>&#160; Function *<a class="code" href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCalledFunction();</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a"> 392</a></span>&#160; Value *<a class="code" href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a">getCalledValue</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCalledOperand();</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; }</div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759"> 396</a></span>&#160; Function *<a class="code" href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCaller();</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; }</div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f"> 400</a></span>&#160; FunctionType *<a class="code" href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f">getFunctionType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> CB-&gt;getFunctionType();</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2"> 404</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2">paramHasAttr</a>(<span class="keywordtype">unsigned</span> ArgNo, llvm::Attribute::AttrKind Kind)<span class="keyword"> const</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">return</span> CB-&gt;paramHasAttr(ArgNo, Kind);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec"> 409</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keywordflow">return</span> CB == CS.<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; }</div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6"> 413</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> CB != CS.<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div><div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07"> 417</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> getInstruction() &lt; CS.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>();</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; }</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;};</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> S&gt;</div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207"> 425</a></span>&#160;<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a>&amp; operator&lt;&lt; (OutStream &amp;o, const std::pair&lt;F, S&gt; &amp;var)</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160;{</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;&lt;&quot;</span> &lt;&lt; var.first &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; var.second &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;}</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html"> 434</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::CallSite&gt;</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;{</div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a"> 436</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">SVF::CallSite</a> &amp;cs)<span class="keyword"> const</span></div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; std::hash&lt;SVF::Instruction *&gt; h;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;};</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BASICTYPES_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
70
- <div class="ttc" id="namespaceSVF_html_a6ec0236303089a01fd9da36a8bb84e0a"><div class="ttname"><a href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">SVF::FunctionType</a></div><div class="ttdeci">llvm::FunctionType FunctionType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00089">BasicTypes.h:89</a></div></div>
71
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3916a44a72183263aee6146238f589c1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1">SVF::SVFFunction::setReachableBBs</a></div><div class="ttdeci">const void setReachableBBs(std::vector&lt; const BasicBlock *&gt; reachableBBs)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00204">BasicTypes.h:204</a></div></div>
72
- <div class="ttc" id="classSVF_1_1SVFGlobal_html_a2ede551556d5ffb78c6ec46cde998717"><div class="ttname"><a href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717">SVF::SVFGlobal::SVFGlobal</a></div><div class="ttdeci">SVFGlobal(const std::string &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00327">BasicTypes.h:327</a></div></div>
73
- <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
69
+ <a href="Util_2BasicTypes_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">//===- BasicTypes.h -- Basic types used in SVF-------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">// Copyright (C) &lt;2013-2017&gt; &lt;Yulei Sui&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">// along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * BasicTypes.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * Created on: Apr 1, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef BASICTYPES_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define BASICTYPES_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="GraphPrinter_8h.html">Graphs/GraphPrinter.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Casting_8h.html">Util/Casting.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/SparseBitVector.h&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/Instructions.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/InstVisitor.h&gt;</span> <span class="comment">// for instruction visitor</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/InstIterator.h&gt;</span> <span class="comment">// for inst iteration</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/GetElementPtrTypeIterator.h&gt;</span> <span class="comment">//for gep iterator</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/StringExtras.h&gt;</span> <span class="comment">// for utostr_32</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/AliasAnalysis.h&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/CallGraph.h&gt;</span> <span class="comment">// call graph</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;llvm/IR/GlobalVariable.h&gt;</span> <span class="comment">// for GlobalVariable</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="preprocessor">#include &lt;llvm/Bitcode/BitcodeWriter.h&gt;</span> <span class="comment">// for WriteBitcodeToFile</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#include &lt;llvm/Bitcode/BitcodeReader.h&gt;</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#include &lt;llvm/IRReader/IRReader.h&gt;</span> <span class="comment">// IR reader for bit file</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/DominanceFrontier.h&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#include &lt;llvm/Analysis/PostDominators.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#include &lt;llvm/ADT/GraphTraits.h&gt;</span> <span class="comment">// for Graphtraits</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="preprocessor">#include &lt;llvm/Transforms/Utils/Local.h&gt;</span> <span class="comment">// for FindDbgAddrUses</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="preprocessor">#if (LLVM_VERSION_MAJOR &gt;= 14)</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="preprocessor">#include &lt;llvm/BinaryFormat/Dwarf.h&gt;</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="preprocessor">#include &quot;llvm/IR/CFG.h&quot;</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="preprocessor">#include &quot;llvm/BinaryFormat/Dwarf.h&quot;</span></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;{</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d"> 64</a></span>&#160;<span class="keyword">class </span>BddCond;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">llvm::Type</a> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1"> 69</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">llvm::Function</a> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965"> 70</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">llvm::BasicBlock</a> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda"> 71</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::Value</a> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e"> 72</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">llvm::Instruction</a> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73"> 73</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">llvm::CallBase</a> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f"> 74</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">llvm::GlobalValue</a> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e"> 75</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">llvm::GlobalVariable</a> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0"> 78</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">llvm::raw_string_ostream</a> <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a>;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba"> 79</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">llvm::raw_fd_ostream</a> <a class="code" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">raw_fd_ostream</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb"> 82</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">llvm::StructType</a> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3"> 83</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">llvm::ArrayType</a> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b"> 84</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">llvm::PointerType</a> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a"> 85</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">llvm::FunctionType</a> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801"> 88</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">llvm::Argument</a> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7"> 89</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">llvm::ConstantInt</a> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca"> 90</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">llvm::ConstantPointerNull</a> <a class="code" href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">ConstantPointerNull</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc"> 91</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">llvm::GlobalAlias</a> <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">GlobalAlias</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71"> 94</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">llvm::NamedMDNode</a> <a class="code" href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">NamedMDNode</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb"> 95</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">llvm::MDNode</a> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a>;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63"> 98</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">llvm::CallInst</a> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>;</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5"> 99</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">llvm::StoreInst</a> <a class="code" href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">StoreInst</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0"> 100</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">llvm::LoadInst</a> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#if LLVM_VERSION_MAJOR &gt;= 11</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="keyword">typedef</span> llvm::const_succ_iterator <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5"> 107</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">llvm::succ_const_iterator</a> <a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637"> 109</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classllvm_1_1GraphPrinter.html">llvm::GraphPrinter</a> <a class="code" href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637">GraphPrinter</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91"> 110</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">llvm::IntegerType</a> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;<span class="comment">// LLVM Debug Information</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295"> 113</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> <a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">DISubprogram</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html"> 115</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9"> 118</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3"> 119</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623"> 120</a></span>&#160; Function* <a class="code" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc"> 121</a></span>&#160; BasicBlock* <a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60"> 122</a></span>&#160; std::vector&lt;const BasicBlock*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea"> 123</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6"> 124</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b"> 125</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b"> 126</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe"> 127</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3ce143c5204cbed737fc18276ae90788"> 128</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,std::vector&lt;const BasicBlock*&gt;</a>&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a3ce143c5204cbed737fc18276ae90788">bb2LoopMap</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3"> 131</a></span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVFFunction</a>(Function* f): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(f-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>().str(),<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>),</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; isDecl(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()), isIntri(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()), fun(f), exitBB(nullptr), isUncalled(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isNotRet(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022"> 136</a></span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022">SVFFunction</a>(Function* f, BasicBlock* exitBB, std::vector&lt;const BasicBlock*&gt; reachableBBs): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(f-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>().str(),<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>),</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; isDecl(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()), isIntri(f-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()), fun(f), exitBB(exitBB), reachableBBs(reachableBBs), isUncalled(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), isNotRet(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2"> 141</a></span>&#160; <span class="keyword">inline</span> Function* <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; assert(fun &amp;&amp; <span class="stringliteral">&quot;no LLVM Function found!&quot;</span>);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76"> 147</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">isDecl</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb"> 152</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d"> 157</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;arg_size();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a"> 162</a></span>&#160; <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">getArg</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx)<span class="keyword"> const</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</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="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982"> 167</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</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="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4"> 172</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4">getReachableBBs</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845"> 177</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a>;</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"><a class="line" href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4"> 182</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4">setIsUncalledFunction</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>)</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; this-&gt;isUncalled = <a class="code" href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">isUncalledFunction</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf"> 187</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf">setIsNotRet</a>(<span class="keyword">const</span> <span class="keywordtype">bool</span> doesNotRet)</div><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; this-&gt;isNotRet = doesNotRet;</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;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf"> 192</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf">setExitBB</a>(BasicBlock* exitBB)</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; this-&gt;exitBB = <a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1"> 197</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1">setReachableBBs</a>(std::vector&lt;const BasicBlock*&gt; reachableBBs)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; this-&gt;reachableBBs = <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</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"><a class="line" href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c"> 202</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</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="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722"> 207</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722">getDomFrontierMap</a>()</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43"> 212</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">hasLoopInfo</a>(<span class="keyword">const</span> BasicBlock* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="keywordflow">return</span> bb2LoopMap.find(bb)!=bb2LoopMap.end();</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d"> 217</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d">getLoopInfo</a>(<span class="keyword">const</span> BasicBlock* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*, std::vector&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = bb2LoopMap.find(bb);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">if</span>(mapIter != bb2LoopMap.end())</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keywordflow">return</span> mapIter-&gt;second;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; assert(<a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">hasLoopInfo</a>(bb) &amp;&amp; <span class="stringliteral">&quot;loopinfo does not exit(bb not in a loop)&quot;</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; abort();</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac4401ffe8c5dae19839c0a2ec7ea7337"> 229</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac4401ffe8c5dae19839c0a2ec7ea7337">addToBB2LoopMap</a>(<span class="keyword">const</span> BasicBlock* bb, <span class="keyword">const</span> BasicBlock* loopBB)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html#a3ce143c5204cbed737fc18276ae90788">bb2LoopMap</a>[bb].push_back(loopBB);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;</div><div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d"> 234</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">getPostDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430"> 239</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430">getPostDomTreeMap</a>()</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160;</div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e"> 244</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">getDomTreeMap</a>()</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><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;</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30"> 249</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30">getDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519"> 254</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(<span class="keyword">const</span> BasicBlock* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> std::find(<a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>.begin(), <a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>.end(), bb)==<a class="code" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a>.end();</div><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;</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347"> 259</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347">isNotRetFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a>;</div><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;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095"> 264</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> BasicBlock* <a class="code" href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095">getExitBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a27eb0c9d0756068da90302d420f42a2d"> 269</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a27eb0c9d0756068da90302d420f42a2d">getExitBlocksOfLoop</a>(<span class="keyword">const</span> BasicBlock* bb, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a>&amp; exitbbs)<span class="keyword"> const</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">hasLoopInfo</a>(bb))</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; blocks = <a class="code" href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d">getLoopInfo</a>(bb);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; assert(!blocks.empty() &amp;&amp; <span class="stringliteral">&quot;no available loop info?&quot;</span>);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> BasicBlock* block : blocks)</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">for</span> (succ_const_iterator succIt = succ_begin(block); succIt != succ_end(block); succIt++)</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keyword">const</span> BasicBlock* succ = *succIt;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> ((std::find(blocks.begin(), blocks.end(), succ)==blocks.end()))</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; exitbbs.insert(succ);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</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="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160;</div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a408763a3a95397c5dc1a47fc85d443e9"> 287</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a408763a3a95397c5dc1a47fc85d443e9">isLoopHeader</a>(<span class="keyword">const</span> BasicBlock* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">hasLoopInfo</a>(bb))</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keyword">const</span> std::vector&lt;const BasicBlock*&gt;&amp; blocks = <a class="code" href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d">getLoopInfo</a>(bb);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; assert(!blocks.empty() &amp;&amp; <span class="stringliteral">&quot;no available loop info?&quot;</span>);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> blocks.front() == bb;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; }</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68"> 298</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68">dominate</a>(<span class="keyword">const</span> BasicBlock* bbKey, <span class="keyword">const</span> BasicBlock* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbValue))</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbKey))</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a> = <a class="code" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">getDomTreeMap</a>();</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; }</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;</div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d"> 329</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d">postDominate</a>(<span class="keyword">const</span> BasicBlock* bbKey, <span class="keyword">const</span> BasicBlock* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">if</span> (bbKey == bbValue)</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="comment">// An unreachable node is dominated by anything.</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbValue))</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="comment">// And dominates nothing.</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">isUnreachable</a>(bbKey))</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; }</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a> = <a class="code" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">getPostDomTreeMap</a>();</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const BasicBlock*,Set&lt;const BasicBlock*&gt;</a>&gt;::const_iterator mapIter = dtBBsMap.find(bbKey);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">if</span> (mapIter != dtBBsMap.end())</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const BasicBlock*&gt;</a> &amp; dtBBs = mapIter-&gt;second;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span> (dtBBs.find(bbValue) != dtBBs.end())</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; {</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; }</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="comment">// Dump Control Flow Graph of llvm function, with instructions</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">viewCFG</a>();</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="comment">// Dump Control Flow Graph of llvm function, without instructions</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#af9dfd6804b5ebda0d4a963b1ce5e6887">viewCFGOnly</a>();</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;};</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160;</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobal.html"> 367</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFGlobal.html">SVFGlobal</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;{</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717"> 371</a></span>&#160; <a class="code" href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717">SVFGlobal</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a>)</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160;};</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html"> 377</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;{</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1"> 381</a></span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1">SVFBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a>)</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160;</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;};</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html"> 387</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallSite.html">CallSite</a></div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;{</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c"> 390</a></span>&#160; <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a> *<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df"> 392</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df">CallSite</a>(<a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I) : CB(<a class="code" href="namespaceSVFUtil.html">SVFUtil</a>::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>&gt;(I)) {}</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98"> 393</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98">CallSite</a>(<a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *I) : CB(<a class="code" href="namespaceSVFUtil.html">SVFUtil</a>::<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>&gt;(I)) {}</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;</div><div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1"> 395</a></span>&#160; <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a> *<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keywordflow">return</span> CB;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2"> 399</a></span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *<a class="code" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">getArgument</a>(<span class="keywordtype">unsigned</span> ArgNo)<span class="keyword"> const</span></div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keywordflow">return</span> CB-&gt;getArgOperand(ArgNo);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; }</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de"> 403</a></span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<a class="code" href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> CB-&gt;getType();</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27"> 407</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_size();</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; }</div><div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3"> 411</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3">arg_empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_empty();</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a"> 415</a></span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *<a class="code" href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a">getArgOperand</a>(<span class="keywordtype">unsigned</span> i)<span class="keyword"> const</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <span class="keywordflow">return</span> CB-&gt;getArgOperand(i);</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e"> 419</a></span>&#160; <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">return</span> CB-&gt;arg_size();</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div><div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf"> 423</a></span>&#160; <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="code" href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCalledFunction();</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a"> 427</a></span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *<a class="code" href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a">getCalledValue</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCalledOperand();</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759"> 431</a></span>&#160; <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="code" href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> CB-&gt;getCaller();</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f"> 435</a></span>&#160; <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a> *<a class="code" href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f">getFunctionType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <span class="keywordflow">return</span> CB-&gt;getFunctionType();</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2"> 439</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2">paramHasAttr</a>(<span class="keywordtype">unsigned</span> ArgNo, llvm::Attribute::AttrKind Kind)<span class="keyword"> const</span></div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">return</span> CB-&gt;paramHasAttr(ArgNo, Kind);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec"> 444</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; <span class="keywordflow">return</span> CB == CS.<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; }</div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6"> 448</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> CB != CS.<a class="code" href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">CB</a>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; }</div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07"> 452</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07">operator&lt;</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &amp;CS)<span class="keyword"> const</span></div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keywordflow">return</span> getInstruction() &lt; CS.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>();</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;};</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">typename</span> F, <span class="keyword">typename</span> S&gt;</div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207"> 460</a></span>&#160;<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a>&amp; operator&lt;&lt; (OutStream &amp;o, const std::pair&lt;F, S&gt; &amp;var)</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;{</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; o &lt;&lt; <span class="stringliteral">&quot;&lt;&quot;</span> &lt;&lt; var.first &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; var.second &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;}</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html"> 469</a></span>&#160;<span class="keyword">template</span> &lt;&gt; <span class="keyword">struct </span>std::hash&lt;<a class="code" href="namespaceSVF.html">SVF</a>::CallSite&gt;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160;{</div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a"> 471</a></span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">SVF::CallSite</a> &amp;cs)<span class="keyword"> const</span></div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; std::hash&lt;SVF::Instruction *&gt; h;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; }</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160;};</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BASICTYPES_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00099">BasicTypes.h:99</a></div></div>
70
+ <div class="ttc" id="namespaceSVF_html_a6ec0236303089a01fd9da36a8bb84e0a"><div class="ttname"><a href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">SVF::FunctionType</a></div><div class="ttdeci">llvm::FunctionType FunctionType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00085">BasicTypes.h:85</a></div></div>
71
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3916a44a72183263aee6146238f589c1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3916a44a72183263aee6146238f589c1">SVF::SVFFunction::setReachableBBs</a></div><div class="ttdeci">const void setReachableBBs(std::vector&lt; const BasicBlock *&gt; reachableBBs)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00197">BasicTypes.h:197</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1SVFGlobal_html_a2ede551556d5ffb78c6ec46cde998717"><div class="ttname"><a href="classSVF_1_1SVFGlobal.html#a2ede551556d5ffb78c6ec46cde998717">SVF::SVFGlobal::SVFGlobal</a></div><div class="ttdeci">SVFGlobal(const std::string &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00371">BasicTypes.h:371</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a408763a3a95397c5dc1a47fc85d443e9"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a408763a3a95397c5dc1a47fc85d443e9">SVF::SVFFunction::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00287">BasicTypes.h:287</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a27eb0c9d0756068da90302d420f42a2d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a27eb0c9d0756068da90302d420f42a2d">SVF::SVFFunction::getExitBlocksOfLoop</a></div><div class="ttdeci">void getExitBlocksOfLoop(const BasicBlock *bb, Set&lt; const BasicBlock *&gt; &amp;exitbbs) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00269">BasicTypes.h:269</a></div></div>
75
+ <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
74
76
  <div class="ttc" id="classSVF_1_1SVFFunction_html_af9dfd6804b5ebda0d4a963b1ce5e6887"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af9dfd6804b5ebda0d4a963b1ce5e6887">SVF::SVFFunction::viewCFGOnly</a></div><div class="ttdeci">void viewCFGOnly()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00413">SVFUtil.cpp:413</a></div></div>
75
- <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
76
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a52581d00177fd5853d6f9de50b3e7fb9"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">SVF::SVFFunction::isDecl</a></div><div class="ttdeci">bool isDecl</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
77
- <div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
78
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac85bdf04fd784e22a89426955d28e3d6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">SVF::SVFFunction::isNotRet</a></div><div class="ttdeci">bool isNotRet</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
79
- <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00088">BasicTypes.h:88</a></div></div>
80
- <div class="ttc" id="classSVF_1_1CallSite_html_a9526f6c3829f8897d1ca617feda8451a"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a">SVF::CallSite::getCalledValue</a></div><div class="ttdeci">Value * getCalledValue() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00392">BasicTypes.h:392</a></div></div>
77
+ <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00064">BasicTypes.h:64</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a52581d00177fd5853d6f9de50b3e7fb9"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9">SVF::SVFFunction::isDecl</a></div><div class="ttdeci">bool isDecl</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
79
+ <div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00075">BasicTypes.h:75</a></div></div>
80
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8d9140ca8da3d17135faa9dfcc6ecc43"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8d9140ca8da3d17135faa9dfcc6ecc43">SVF::SVFFunction::hasLoopInfo</a></div><div class="ttdeci">bool hasLoopInfo(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00212">BasicTypes.h:212</a></div></div>
81
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac85bdf04fd784e22a89426955d28e3d6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">SVF::SVFFunction::isNotRet</a></div><div class="ttdeci">bool isNotRet</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
82
+ <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1CallSite_html_a9526f6c3829f8897d1ca617feda8451a"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9526f6c3829f8897d1ca617feda8451a">SVF::CallSite::getCalledValue</a></div><div class="ttdeci">Value * getCalledValue() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00427">BasicTypes.h:427</a></div></div>
81
84
  <div class="ttc" id="GraphPrinter_8h_html"><div class="ttname"><a href="GraphPrinter_8h.html">GraphPrinter.h</a></div></div>
82
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00154">BasicTypes.h:154</a></div></div>
83
- <div class="ttc" id="classSVF_1_1CallSite_html_ad084f7734007db7b14444b20bb980dd3"><div class="ttname"><a href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3">SVF::CallSite::arg_empty</a></div><div class="ttdeci">bool arg_empty() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00376">BasicTypes.h:376</a></div></div>
84
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00119">BasicTypes.h:119</a></div></div>
85
- <div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
86
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a465774dfabebd2ff4f79e2a7654f0430"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430">SVF::SVFFunction::getPostDomTreeMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getPostDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00224">BasicTypes.h:224</a></div></div>
87
- <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00102">BasicTypes.h:102</a></div></div>
88
- <div class="ttc" id="namespaceSVF_html_a146d286041987860388da3d8bc85cee3"><div class="ttname"><a href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF::ArrayType</a></div><div class="ttdeci">llvm::ArrayType ArrayType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00087">BasicTypes.h:87</a></div></div>
89
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a2215730d8469cc3f4bf0c0f16b47a7fc"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">SVF::SVFFunction::exitBB</a></div><div class="ttdeci">BasicBlock * exitBB</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
90
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a39d2a2ce19abe953b3c27a84e97bbe30"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00234">BasicTypes.h:234</a></div></div>
85
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ab672f0255ec8e42d5e414bc8c72b7c76"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">SVF::SVFFunction::isDeclaration</a></div><div class="ttdeci">bool isDeclaration() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00147">BasicTypes.h:147</a></div></div>
86
+ <div class="ttc" id="classSVF_1_1CallSite_html_ad084f7734007db7b14444b20bb980dd3"><div class="ttname"><a href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3">SVF::CallSite::arg_empty</a></div><div class="ttdeci">bool arg_empty() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00411">BasicTypes.h:411</a></div></div>
87
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
88
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a465774dfabebd2ff4f79e2a7654f0430"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430">SVF::SVFFunction::getPostDomTreeMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getPostDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00239">BasicTypes.h:239</a></div></div>
89
+ <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00098">BasicTypes.h:98</a></div></div>
90
+ <div class="ttc" id="namespaceSVF_html_a146d286041987860388da3d8bc85cee3"><div class="ttname"><a href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF::ArrayType</a></div><div class="ttdeci">llvm::ArrayType ArrayType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
91
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a2215730d8469cc3f4bf0c0f16b47a7fc"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">SVF::SVFFunction::exitBB</a></div><div class="ttdeci">BasicBlock * exitBB</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00121">BasicTypes.h:121</a></div></div>
92
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a39d2a2ce19abe953b3c27a84e97bbe30"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00249">BasicTypes.h:249</a></div></div>
91
93
  <div class="ttc" id="cJSON_8cpp_html_a65e9886d74aaee76545e83dd09011727"><div class="ttname"><a href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a></div><div class="ttdeci">#define false</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00070">cJSON.cpp:70</a></div></div>
92
- <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00351">BasicTypes.h:351</a></div></div>
93
- <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
94
- <div class="ttc" id="structstd_1_1hash_3_01SVF_1_1CallSite_01_4_html_a6ed3f621cd155faae27cbd844338409a"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a">std::hash&lt; SVF::CallSite &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::CallSite &amp;cs) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00436">BasicTypes.h:436</a></div></div>
94
+ <div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00395">BasicTypes.h:395</a></div></div>
95
+ <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00089">BasicTypes.h:89</a></div></div>
96
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4401ffe8c5dae19839c0a2ec7ea7337"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4401ffe8c5dae19839c0a2ec7ea7337">SVF::SVFFunction::addToBB2LoopMap</a></div><div class="ttdeci">void addToBB2LoopMap(const BasicBlock *bb, const BasicBlock *loopBB)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00229">BasicTypes.h:229</a></div></div>
97
+ <div class="ttc" id="structstd_1_1hash_3_01SVF_1_1CallSite_01_4_html_a6ed3f621cd155faae27cbd844338409a"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a">std::hash&lt; SVF::CallSite &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::CallSite &amp;cs) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00471">BasicTypes.h:471</a></div></div>
95
98
  <div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00110">SVFBasicTypes.h:110</a></div></div>
96
- <div class="ttc" id="classSVF_1_1CallSite_html_a46e8ffe430bb2711abaafc9d7864909e"><div class="ttname"><a href="classSVF_1_1CallSite.html#a46e8ffe430bb2711abaafc9d7864909e">SVF::CallSite::arg_end</a></div><div class="ttdeci">User::const_op_iterator arg_end() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00368">BasicTypes.h:368</a></div></div>
97
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00164">BasicTypes.h:164</a></div></div>
98
- <div class="ttc" id="classSVF_1_1SVFFunction_html_afa46555a912e591eaf7b8057c41dc4fe"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">SVF::SVFFunction::pdtBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; pdtBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00131">BasicTypes.h:131</a></div></div>
99
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a1e9dc1d660e3626540b7501194bb12ea"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">SVF::SVFFunction::isUncalled</a></div><div class="ttdeci">bool isUncalled</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00127">BasicTypes.h:127</a></div></div>
100
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a8e1db3a8be765e23cbb4ec66b9e88e2d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d">SVF::SVFFunction::postDominate</a></div><div class="ttdeci">bool postDominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00285">BasicTypes.h:285</a></div></div>
99
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
100
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_afa46555a912e591eaf7b8057c41dc4fe"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">SVF::SVFFunction::pdtBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; pdtBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00127">BasicTypes.h:127</a></div></div>
101
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a1e9dc1d660e3626540b7501194bb12ea"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">SVF::SVFFunction::isUncalled</a></div><div class="ttdeci">bool isUncalled</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00123">BasicTypes.h:123</a></div></div>
102
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8e1db3a8be765e23cbb4ec66b9e88e2d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d">SVF::SVFFunction::postDominate</a></div><div class="ttdeci">bool postDominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00329">BasicTypes.h:329</a></div></div>
101
103
  <div class="ttc" id="classllvm_1_1GraphPrinter_html"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html">llvm::GraphPrinter</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00046">GraphPrinter.h:46</a></div></div>
102
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a59b01d4e4d83db08e9df3e165e37c29a"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">SVF::SVFFunction::getArg</a></div><div class="ttdeci">const Value * getArg(u32_t idx) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00169">BasicTypes.h:169</a></div></div>
103
- <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00111">BasicTypes.h:111</a></div></div>
104
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a59b01d4e4d83db08e9df3e165e37c29a"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a59b01d4e4d83db08e9df3e165e37c29a">SVF::SVFFunction::getArg</a></div><div class="ttdeci">const Value * getArg(u32_t idx) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00162">BasicTypes.h:162</a></div></div>
105
+ <div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00107">BasicTypes.h:107</a></div></div>
104
106
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ad3b997a837c9a4ad41758178bf102dcf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf">SVF::SVFFunction::setExitBB</a></div><div class="ttdeci">const void setExitBB(BasicBlock *exitBB)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00199">BasicTypes.h:199</a></div></div>
106
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aed73a0604a9fc5b6560ce87cfeaa3944"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aed73a0604a9fc5b6560ce87cfeaa3944">SVF::SVFFunction::SVFFunction</a></div><div class="ttdeci">SVFFunction(const std::string &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
107
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ad3b997a837c9a4ad41758178bf102dcf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf">SVF::SVFFunction::setExitBB</a></div><div class="ttdeci">const void setExitBB(BasicBlock *exitBB)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00192">BasicTypes.h:192</a></div></div>
107
108
  <div class="ttc" id="SVFBasicTypes_8h_html"><div class="ttname"><a href="SVFBasicTypes_8h.html">SVFBasicTypes.h</a></div></div>
108
109
  <div class="ttc" id="classSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00204">SVFBasicTypes.h:204</a></div></div>
109
- <div class="ttc" id="namespaceSVF_html_a1c7c7ac12791c0ae386283c0a4f127ba"><div class="ttname"><a href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">SVF::raw_fd_ostream</a></div><div class="ttdeci">llvm::raw_fd_ostream raw_fd_ostream</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
110
- <div class="ttc" id="classSVF_1_1CallSite_html_ab09ca7986f5b924b6c6b57e492f06c07"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07">SVF::CallSite::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00417">BasicTypes.h:417</a></div></div>
111
- <div class="ttc" id="classSVF_1_1CallSite_html_aa9b62205a5b63384042d9431a01f03ec"><div class="ttname"><a href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec">SVF::CallSite::operator==</a></div><div class="ttdeci">bool operator==(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00409">BasicTypes.h:409</a></div></div>
112
- <div class="ttc" id="classSVF_1_1CallSite_html_a26a594d36bbb5b77e7085502812d9ca2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">SVF::CallSite::getArgument</a></div><div class="ttdeci">Value * getArgument(unsigned ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00356">BasicTypes.h:356</a></div></div>
113
- <div class="ttc" id="namespaceSVF_html_a90f6c91ba7a3c31c84b5c25277d83fca"><div class="ttname"><a href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">SVF::ConstantPointerNull</a></div><div class="ttdeci">llvm::ConstantPointerNull ConstantPointerNull</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
110
+ <div class="ttc" id="namespaceSVF_html_a1c7c7ac12791c0ae386283c0a4f127ba"><div class="ttname"><a href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">SVF::raw_fd_ostream</a></div><div class="ttdeci">llvm::raw_fd_ostream raw_fd_ostream</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
111
+ <div class="ttc" id="classSVF_1_1CallSite_html_ab09ca7986f5b924b6c6b57e492f06c07"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07">SVF::CallSite::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00452">BasicTypes.h:452</a></div></div>
112
+ <div class="ttc" id="classSVF_1_1CallSite_html_aa9b62205a5b63384042d9431a01f03ec"><div class="ttname"><a href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec">SVF::CallSite::operator==</a></div><div class="ttdeci">bool operator==(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00444">BasicTypes.h:444</a></div></div>
113
+ <div class="ttc" id="classSVF_1_1CallSite_html_a26a594d36bbb5b77e7085502812d9ca2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">SVF::CallSite::getArgument</a></div><div class="ttdeci">Value * getArgument(unsigned ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00399">BasicTypes.h:399</a></div></div>
114
+ <div class="ttc" id="namespaceSVF_html_a90f6c91ba7a3c31c84b5c25277d83fca"><div class="ttname"><a href="namespaceSVF.html#a90f6c91ba7a3c31c84b5c25277d83fca">SVF::ConstantPointerNull</a></div><div class="ttdeci">llvm::ConstantPointerNull ConstantPointerNull</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00090">BasicTypes.h:90</a></div></div>
114
115
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVF::SVFValue::SVFFunc</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00213">SVFBasicTypes.h:213</a></div></div>
115
116
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00105">SVFBasicTypes.h:105</a></div></div>
116
- <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
117
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ae2592f5b8166779cbd1b2542fdcd6d7d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">SVF::SVFFunction::getPostDomTreeMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getPostDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00219">BasicTypes.h:219</a></div></div>
118
- <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#l00073">BasicTypes.h:73</a></div></div>
119
- <div class="ttc" id="namespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
120
- <div class="ttc" id="namespaceSVF_html_a2bf58575ac7d068e0f1a4cf953b9e6cb"><div class="ttname"><a href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">SVF::StructType</a></div><div class="ttdeci">llvm::StructType StructType</div><div class="ttdoc">LLVM types. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
117
+ <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
118
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ae2592f5b8166779cbd1b2542fdcd6d7d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">SVF::SVFFunction::getPostDomTreeMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getPostDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00234">BasicTypes.h:234</a></div></div>
119
+ <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#l00072">BasicTypes.h:72</a></div></div>
120
+ <div class="ttc" id="namespaceSVF_html_a2bf58575ac7d068e0f1a4cf953b9e6cb"><div class="ttname"><a href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">SVF::StructType</a></div><div class="ttdeci">llvm::StructType StructType</div><div class="ttdoc">LLVM types. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
121
121
  <div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
122
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a97b0ad9fd31d7982f44a839605566347"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347">SVF::SVFFunction::isNotRetFunction</a></div><div class="ttdeci">bool isNotRetFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00244">BasicTypes.h:244</a></div></div>
123
- <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#l00082">BasicTypes.h:82</a></div></div>
124
- <div class="ttc" id="classSVF_1_1CallSite_html_ac56325e360c7f6720a4c78a7b50f57df"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(Instruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00348">BasicTypes.h:348</a></div></div>
125
- <div class="ttc" id="classSVF_1_1CallSite_html_aabc0054b7f4e06b7ca0b6072746984e6"><div class="ttname"><a href="classSVF_1_1CallSite.html#aabc0054b7f4e06b7ca0b6072746984e6">SVF::CallSite::arg_begin</a></div><div class="ttdeci">User::const_op_iterator arg_begin() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00364">BasicTypes.h:364</a></div></div>
126
- <div class="ttc" id="namespaceSVF_html_a0fd33072b099f61eaa642e94ed0c03fc"><div class="ttname"><a href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">SVF::GlobalAlias</a></div><div class="ttdeci">llvm::GlobalAlias GlobalAlias</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
127
- <div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00092">BasicTypes.h:92</a></div></div>
128
- <div class="ttc" id="namespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00075">BasicTypes.h:75</a></div></div>
129
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ae7f366f62080286448602698d45ec095"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const BasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00249">BasicTypes.h:249</a></div></div>
130
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a325fa699852fdcbcfccfc2112ee29845"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">SVF::SVFFunction::isUncalledFunction</a></div><div class="ttdeci">const bool isUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00184">BasicTypes.h:184</a></div></div>
122
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a97b0ad9fd31d7982f44a839605566347"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347">SVF::SVFFunction::isNotRetFunction</a></div><div class="ttdeci">bool isNotRetFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00259">BasicTypes.h:259</a></div></div>
123
+ <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#l00078">BasicTypes.h:78</a></div></div>
124
+ <div class="ttc" id="classSVF_1_1CallSite_html_ac56325e360c7f6720a4c78a7b50f57df"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac56325e360c7f6720a4c78a7b50f57df">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(Instruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00392">BasicTypes.h:392</a></div></div>
125
+ <div class="ttc" id="namespaceSVF_html_a0fd33072b099f61eaa642e94ed0c03fc"><div class="ttname"><a href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">SVF::GlobalAlias</a></div><div class="ttdeci">llvm::GlobalAlias GlobalAlias</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00091">BasicTypes.h:91</a></div></div>
126
+ <div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00088">BasicTypes.h:88</a></div></div>
127
+ <div class="ttc" id="namespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00074">BasicTypes.h:74</a></div></div>
128
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ae7f366f62080286448602698d45ec095"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const BasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00264">BasicTypes.h:264</a></div></div>
129
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a325fa699852fdcbcfccfc2112ee29845"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a325fa699852fdcbcfccfc2112ee29845">SVF::SVFFunction::isUncalledFunction</a></div><div class="ttdeci">const bool isUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00177">BasicTypes.h:177</a></div></div>
131
130
  <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#l00215">SVFBasicTypes.h:215</a></div></div>
132
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a18b638221f5b7618f10b0f6ff4310fd4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4">SVF::SVFFunction::getReachableBBs</a></div><div class="ttdeci">const std::vector&lt; const BasicBlock * &gt; &amp; getReachableBBs() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
133
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_abf53678f536d64c4d979600c9fe429d1"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1">SVF::SVFBasicBlock::SVFBasicBlock</a></div><div class="ttdeci">SVFBasicBlock(const std::string &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00337">BasicTypes.h:337</a></div></div>
134
- <div class="ttc" id="classSVF_1_1CallSite_html_a145676880fce313b4634d14118476c27"><div class="ttname"><a href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">SVF::CallSite::arg_size</a></div><div class="ttdeci">unsigned arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00372">BasicTypes.h:372</a></div></div>
135
- <div class="ttc" id="classSVF_1_1SVFFunction_html_abee75ed6f0e1625fb9fe2d5518e0c94c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00209">BasicTypes.h:209</a></div></div>
131
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a18b638221f5b7618f10b0f6ff4310fd4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a18b638221f5b7618f10b0f6ff4310fd4">SVF::SVFFunction::getReachableBBs</a></div><div class="ttdeci">const std::vector&lt; const BasicBlock * &gt; &amp; getReachableBBs() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00172">BasicTypes.h:172</a></div></div>
132
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_abf53678f536d64c4d979600c9fe429d1"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#abf53678f536d64c4d979600c9fe429d1">SVF::SVFBasicBlock::SVFBasicBlock</a></div><div class="ttdeci">SVFBasicBlock(const std::string &amp;val)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00381">BasicTypes.h:381</a></div></div>
133
+ <div class="ttc" id="classSVF_1_1CallSite_html_a145676880fce313b4634d14118476c27"><div class="ttname"><a href="classSVF_1_1CallSite.html#a145676880fce313b4634d14118476c27">SVF::CallSite::arg_size</a></div><div class="ttdeci">unsigned arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00407">BasicTypes.h:407</a></div></div>
134
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_abee75ed6f0e1625fb9fe2d5518e0c94c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abee75ed6f0e1625fb9fe2d5518e0c94c">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">const Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00202">BasicTypes.h:202</a></div></div>
136
135
  <div class="ttc" id="classSVF_1_1SVFFunction_html_a10bba41af683e8902f65aa1b736411dd"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a10bba41af683e8902f65aa1b736411dd">SVF::SVFFunction::viewCFG</a></div><div class="ttdeci">void viewCFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00405">SVFUtil.cpp:405</a></div></div>
137
- <div class="ttc" id="namespaceSVF_html_a89c7208bfc0b57873dfa574f52050295"><div class="ttname"><a href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">SVF::DISubprogram</a></div><div class="ttdeci">llvm::DISubprogram DISubprogram</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00117">BasicTypes.h:117</a></div></div>
138
- <div class="ttc" id="classSVF_1_1CallSite_html_a15a98a5e0fe91f0e239a052acd029cc2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2">SVF::CallSite::paramHasAttr</a></div><div class="ttdeci">bool paramHasAttr(unsigned ArgNo, llvm::Attribute::AttrKind Kind) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00404">BasicTypes.h:404</a></div></div>
139
- <div class="ttc" id="classSVF_1_1CallSite_html_afd501405e1d3cc673fced6dc56f3b759"><div class="ttname"><a href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759">SVF::CallSite::getCaller</a></div><div class="ttdeci">Function * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00396">BasicTypes.h:396</a></div></div>
140
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a52358a4814f16dc8db4d62f92968f70e"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00229">BasicTypes.h:229</a></div></div>
141
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a2fd6f9d86754ebacdd75c4fa8a699c6b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">SVF::SVFFunction::dtBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; dtBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00129">BasicTypes.h:129</a></div></div>
142
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aec6a75f8f5776893f468b896352e24c4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4">SVF::SVFFunction::setIsUncalledFunction</a></div><div class="ttdeci">const void setIsUncalledFunction(const bool isUncalledFunction)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00189">BasicTypes.h:189</a></div></div>
143
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ae7a55d86a87088f7d70254980e4325b3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVF::SVFFunction::SVFFunction</a></div><div class="ttdeci">SVFFunction(Function *f)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00138">BasicTypes.h:138</a></div></div>
144
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a29f016522d91f1b78ea05a9334b1c3e3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">SVF::SVFFunction::isIntri</a></div><div class="ttdeci">bool isIntri</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00123">BasicTypes.h:123</a></div></div>
145
- <div class="ttc" id="classSVF_1_1CallSite_html_ae9b0172e29199f2a938d7cf9e42241cf"><div class="ttname"><a href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf">SVF::CallSite::getCalledFunction</a></div><div class="ttdeci">Function * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00388">BasicTypes.h:388</a></div></div>
136
+ <div class="ttc" id="namespaceSVF_html_a89c7208bfc0b57873dfa574f52050295"><div class="ttname"><a href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">SVF::DISubprogram</a></div><div class="ttdeci">llvm::DISubprogram DISubprogram</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
137
+ <div class="ttc" id="classSVF_1_1CallSite_html_a15a98a5e0fe91f0e239a052acd029cc2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a15a98a5e0fe91f0e239a052acd029cc2">SVF::CallSite::paramHasAttr</a></div><div class="ttdeci">bool paramHasAttr(unsigned ArgNo, llvm::Attribute::AttrKind Kind) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00439">BasicTypes.h:439</a></div></div>
138
+ <div class="ttc" id="classSVF_1_1CallSite_html_afd501405e1d3cc673fced6dc56f3b759"><div class="ttname"><a href="classSVF_1_1CallSite.html#afd501405e1d3cc673fced6dc56f3b759">SVF::CallSite::getCaller</a></div><div class="ttdeci">Function * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00431">BasicTypes.h:431</a></div></div>
139
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a52358a4814f16dc8db4d62f92968f70e"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00244">BasicTypes.h:244</a></div></div>
140
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a2fd6f9d86754ebacdd75c4fa8a699c6b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">SVF::SVFFunction::dtBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; dtBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
141
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aff9c71d1f1546a19807abfe2af20ca7d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d">SVF::SVFFunction::getLoopInfo</a></div><div class="ttdeci">const std::vector&lt; const BasicBlock * &gt; &amp; getLoopInfo(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00217">BasicTypes.h:217</a></div></div>
142
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aec6a75f8f5776893f468b896352e24c4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aec6a75f8f5776893f468b896352e24c4">SVF::SVFFunction::setIsUncalledFunction</a></div><div class="ttdeci">const void setIsUncalledFunction(const bool isUncalledFunction)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00182">BasicTypes.h:182</a></div></div>
143
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3ce143c5204cbed737fc18276ae90788"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3ce143c5204cbed737fc18276ae90788">SVF::SVFFunction::bb2LoopMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, std::vector&lt; const BasicBlock * &gt; &gt; bb2LoopMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
144
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ae7a55d86a87088f7d70254980e4325b3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae7a55d86a87088f7d70254980e4325b3">SVF::SVFFunction::SVFFunction</a></div><div class="ttdeci">SVFFunction(Function *f)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00131">BasicTypes.h:131</a></div></div>
145
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a29f016522d91f1b78ea05a9334b1c3e3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">SVF::SVFFunction::isIntri</a></div><div class="ttdeci">bool isIntri</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00119">BasicTypes.h:119</a></div></div>
146
+ <div class="ttc" id="classSVF_1_1CallSite_html_ae9b0172e29199f2a938d7cf9e42241cf"><div class="ttname"><a href="classSVF_1_1CallSite.html#ae9b0172e29199f2a938d7cf9e42241cf">SVF::CallSite::getCalledFunction</a></div><div class="ttdeci">Function * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00423">BasicTypes.h:423</a></div></div>
146
147
  <div class="ttc" id="classSVF_1_1SVFValue_html_a2409c01221b9a6632655cee43d1b35e4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00253">SVFBasicTypes.h:253</a></div></div>
147
- <div class="ttc" id="classSVF_1_1CallSite_html_a4d21306a365c1f748def6736e9fe825c"><div class="ttname"><a href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">SVF::CallSite::CB</a></div><div class="ttdeci">CallBase * CB</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00346">BasicTypes.h:346</a></div></div>
148
- <div class="ttc" id="classSVF_1_1SVFFunction_html_abea5ab1cb4a27dee1c7b7c718ab0b722"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomFrontierMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00214">BasicTypes.h:214</a></div></div>
149
- <div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00099">BasicTypes.h:99</a></div></div>
150
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a9e58567eeb41a608a580a492d195ec60"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">SVF::SVFFunction::reachableBBs</a></div><div class="ttdeci">std::vector&lt; const BasicBlock * &gt; reachableBBs</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00126">BasicTypes.h:126</a></div></div>
151
- <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#l00148">BasicTypes.h:148</a></div></div>
148
+ <div class="ttc" id="classSVF_1_1CallSite_html_a4d21306a365c1f748def6736e9fe825c"><div class="ttname"><a href="classSVF_1_1CallSite.html#a4d21306a365c1f748def6736e9fe825c">SVF::CallSite::CB</a></div><div class="ttdeci">CallBase * CB</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00390">BasicTypes.h:390</a></div></div>
149
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_abea5ab1cb4a27dee1c7b7c718ab0b722"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abea5ab1cb4a27dee1c7b7c718ab0b722">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; &amp; getDomFrontierMap()</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00207">BasicTypes.h:207</a></div></div>
150
+ <div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00095">BasicTypes.h:95</a></div></div>
151
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a9e58567eeb41a608a580a492d195ec60"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">SVF::SVFFunction::reachableBBs</a></div><div class="ttdeci">std::vector&lt; const BasicBlock * &gt; reachableBBs</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
152
+ <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#l00141">BasicTypes.h:141</a></div></div>
152
153
  <div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
153
- <div class="ttc" id="namespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00104">BasicTypes.h:104</a></div></div>
154
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00343">BasicTypes.h:343</a></div></div>
155
- <div class="ttc" id="classSVF_1_1CallSite_html_a44d8147b8b6d54e05a7108858dbaa7c6"><div class="ttname"><a href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6">SVF::CallSite::operator!=</a></div><div class="ttdeci">bool operator!=(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00413">BasicTypes.h:413</a></div></div>
156
- <div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00360">BasicTypes.h:360</a></div></div>
157
- <div class="ttc" id="classSVF_1_1SVFFunction_html_af33c2824b5ca3a44e0467655ae890623"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">SVF::SVFFunction::fun</a></div><div class="ttdeci">Function * fun</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
158
- <div class="ttc" id="classSVF_1_1CallSite_html_afb7abd481e9e7c88c203738514a02c98"><div class="ttname"><a href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(Value *I)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00349">BasicTypes.h:349</a></div></div>
159
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a7b4c6c7143d012802ea5ee962bec2deb"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">SVF::SVFFunction::isIntrinsic</a></div><div class="ttdeci">bool isIntrinsic() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00159">BasicTypes.h:159</a></div></div>
160
- <div class="ttc" id="classSVF_1_1SVFGlobal_html"><div class="ttname"><a href="classSVF_1_1SVFGlobal.html">SVF::SVFGlobal</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00323">BasicTypes.h:323</a></div></div>
154
+ <div class="ttc" id="namespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
155
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00387">BasicTypes.h:387</a></div></div>
156
+ <div class="ttc" id="classSVF_1_1CallSite_html_a44d8147b8b6d54e05a7108858dbaa7c6"><div class="ttname"><a href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6">SVF::CallSite::operator!=</a></div><div class="ttdeci">bool operator!=(const CallSite &amp;CS) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00448">BasicTypes.h:448</a></div></div>
157
+ <div class="ttc" id="classSVF_1_1CallSite_html_a9b7d53a345875e4e6c72eb23ac6475de"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b7d53a345875e4e6c72eb23ac6475de">SVF::CallSite::getType</a></div><div class="ttdeci">Type * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00403">BasicTypes.h:403</a></div></div>
158
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_af33c2824b5ca3a44e0467655ae890623"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">SVF::SVFFunction::fun</a></div><div class="ttdeci">Function * fun</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00120">BasicTypes.h:120</a></div></div>
159
+ <div class="ttc" id="classSVF_1_1CallSite_html_afb7abd481e9e7c88c203738514a02c98"><div class="ttname"><a href="classSVF_1_1CallSite.html#afb7abd481e9e7c88c203738514a02c98">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(Value *I)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00393">BasicTypes.h:393</a></div></div>
160
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a7b4c6c7143d012802ea5ee962bec2deb"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">SVF::SVFFunction::isIntrinsic</a></div><div class="ttdeci">bool isIntrinsic() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00152">BasicTypes.h:152</a></div></div>
161
+ <div class="ttc" id="classSVF_1_1SVFGlobal_html"><div class="ttname"><a href="classSVF_1_1SVFGlobal.html">SVF::SVFGlobal</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00367">BasicTypes.h:367</a></div></div>
161
162
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
162
- <div class="ttc" id="classSVF_1_1CallSite_html_ac1cdfe5e54026960a23142e26b3150ff"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac1cdfe5e54026960a23142e26b3150ff">SVF::CallSite::arg_iterator</a></div><div class="ttdeci">User::const_op_iterator arg_iterator</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00355">BasicTypes.h:355</a></div></div>
163
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3ff1ce3a7e4a9f4037a8bb74ddb5fabf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf">SVF::SVFFunction::setIsNotRet</a></div><div class="ttdeci">const void setIsNotRet(const bool doesNotRet)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00194">BasicTypes.h:194</a></div></div>
164
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00174">BasicTypes.h:174</a></div></div>
165
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00333">BasicTypes.h:333</a></div></div>
166
- <div class="ttc" id="namespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00098">BasicTypes.h:98</a></div></div>
167
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a9f26d10b95201148e0ef54ee7ad9e022"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022">SVF::SVFFunction::SVFFunction</a></div><div class="ttdeci">SVFFunction(Function *f, BasicBlock *exitBB, std::vector&lt; const BasicBlock *&gt; reachableBBs)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00143">BasicTypes.h:143</a></div></div>
168
- <div class="ttc" id="namespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00074">BasicTypes.h:74</a></div></div>
169
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aa54fb9214e4c1a8b11daaa3e0edd0a6b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">SVF::SVFFunction::dfBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; dfBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00130">BasicTypes.h:130</a></div></div>
163
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3ff1ce3a7e4a9f4037a8bb74ddb5fabf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf">SVF::SVFFunction::setIsNotRet</a></div><div class="ttdeci">const void setIsNotRet(const bool doesNotRet)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00187">BasicTypes.h:187</a></div></div>
164
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00167">BasicTypes.h:167</a></div></div>
165
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00377">BasicTypes.h:377</a></div></div>
166
+ <div class="ttc" id="namespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
167
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a9f26d10b95201148e0ef54ee7ad9e022"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9f26d10b95201148e0ef54ee7ad9e022">SVF::SVFFunction::SVFFunction</a></div><div class="ttdeci">SVFFunction(Function *f, BasicBlock *exitBB, std::vector&lt; const BasicBlock *&gt; reachableBBs)</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00136">BasicTypes.h:136</a></div></div>
168
+ <div class="ttc" id="namespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
169
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aa54fb9214e4c1a8b11daaa3e0edd0a6b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">SVF::SVFFunction::dfBBsMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, Set&lt; const BasicBlock * &gt; &gt; dfBBsMap</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00126">BasicTypes.h:126</a></div></div>
170
170
  <div class="ttc" id="namespaceSVF_html_a8bd74fdcb0e58d0249003df9c3fb8b31"><div class="ttname"><a href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">SVF::OutStream</a></div><div class="ttdeci">std::ostream OutStream</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00083">SVFBasicTypes.h:83</a></div></div>
171
171
  <div class="ttc" id="Casting_8h_html"><div class="ttname"><a href="Casting_8h.html">Casting.h</a></div></div>
172
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3955e86456afe4cc550eb42c84d61c68"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68">SVF::SVFFunction::dominate</a></div><div class="ttdeci">bool dominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00254">BasicTypes.h:254</a></div></div>
172
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3955e86456afe4cc550eb42c84d61c68"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68">SVF::SVFFunction::dominate</a></div><div class="ttdeci">bool dominate(const BasicBlock *bbKey, const BasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00298">BasicTypes.h:298</a></div></div>
173
173
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
174
- <div class="ttc" id="classSVF_1_1CallSite_html_ad0040f4b7953b509059223d1d52c203f"><div class="ttname"><a href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f">SVF::CallSite::getFunctionType</a></div><div class="ttdeci">FunctionType * getFunctionType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00400">BasicTypes.h:400</a></div></div>
175
- <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
174
+ <div class="ttc" id="classSVF_1_1CallSite_html_ad0040f4b7953b509059223d1d52c203f"><div class="ttname"><a href="classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f">SVF::CallSite::getFunctionType</a></div><div class="ttdeci">FunctionType * getFunctionType() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00435">BasicTypes.h:435</a></div></div>
175
+ <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
176
176
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVF::SVFValue::SVFGlob</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00214">SVFBasicTypes.h:214</a></div></div>
177
- <div class="ttc" id="namespaceSVF_html_a2eae2d6648dd6715421bd7af67d57637"><div class="ttname"><a href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637">SVF::GraphPrinter</a></div><div class="ttdeci">llvm::GraphPrinter GraphPrinter</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00113">BasicTypes.h:113</a></div></div>
178
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a14831b73bbf2db0d180748f39bd83519"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">SVF::SVFFunction::isUnreachable</a></div><div class="ttdeci">bool isUnreachable(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00239">BasicTypes.h:239</a></div></div>
179
- <div class="ttc" id="namespaceSVF_html_afc1b50355821e7299df03b026e36f1df"><div class="ttname"><a href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">SVF::User</a></div><div class="ttdeci">llvm::User User</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
180
- <div class="ttc" id="classSVF_1_1CallSite_html_a5cd372d9fab846228fb0ee746001309a"><div class="ttname"><a href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a">SVF::CallSite::getArgOperand</a></div><div class="ttdeci">Value * getArgOperand(unsigned i) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00380">BasicTypes.h:380</a></div></div>
181
- <div class="ttc" id="classSVF_1_1CallSite_html_adf342a3f777e611fe6b92b09154e247e"><div class="ttname"><a href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e">SVF::CallSite::getNumArgOperands</a></div><div class="ttdeci">unsigned getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00384">BasicTypes.h:384</a></div></div>
182
- <div class="ttc" id="namespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
177
+ <div class="ttc" id="namespaceSVF_html_a2eae2d6648dd6715421bd7af67d57637"><div class="ttname"><a href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637">SVF::GraphPrinter</a></div><div class="ttdeci">llvm::GraphPrinter GraphPrinter</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00109">BasicTypes.h:109</a></div></div>
178
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a14831b73bbf2db0d180748f39bd83519"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a14831b73bbf2db0d180748f39bd83519">SVF::SVFFunction::isUnreachable</a></div><div class="ttdeci">bool isUnreachable(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00254">BasicTypes.h:254</a></div></div>
179
+ <div class="ttc" id="classSVF_1_1CallSite_html_a5cd372d9fab846228fb0ee746001309a"><div class="ttname"><a href="classSVF_1_1CallSite.html#a5cd372d9fab846228fb0ee746001309a">SVF::CallSite::getArgOperand</a></div><div class="ttdeci">Value * getArgOperand(unsigned i) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00415">BasicTypes.h:415</a></div></div>
180
+ <div class="ttc" id="classSVF_1_1CallSite_html_adf342a3f777e611fe6b92b09154e247e"><div class="ttname"><a href="classSVF_1_1CallSite.html#adf342a3f777e611fe6b92b09154e247e">SVF::CallSite::getNumArgOperands</a></div><div class="ttdeci">unsigned getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00419">BasicTypes.h:419</a></div></div>
181
+ <div class="ttc" id="namespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00110">BasicTypes.h:110</a></div></div>
183
182
  </div><!-- fragment --></div><!-- contents -->
184
183
  <!-- start footer part -->
185
184
  <hr class="footer"/><address class="footer"><small>