svf-tools 1.0.596 → 1.0.597

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 (801) hide show
  1. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
  4. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
  5. package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
  7. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
  9. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
  10. package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
  11. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -16
  12. package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
  13. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -20
  14. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
  15. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
  16. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
  17. package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
  18. package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -27
  19. package/SVF-doxygen/html/html/CHG_8h.html +4 -6
  20. package/SVF-doxygen/html/html/CHG_8h_source.html +13 -14
  21. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  23. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
  24. package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
  25. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -28
  26. package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
  27. package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -11
  28. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
  29. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  30. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
  31. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -21
  32. package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
  33. package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -16
  34. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  36. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
  39. package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +4 -3
  40. package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +24 -24
  41. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  44. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
  46. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  48. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
  49. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
  50. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
  51. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
  52. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/GenericGraph_8h.html +8 -9
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +125 -125
  56. package/SVF-doxygen/html/html/GraphPrinter_8h.html +3 -2
  57. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +7 -7
  58. package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -4
  59. package/SVF-doxygen/html/html/GraphTraits_8h.html +20 -19
  60. package/SVF-doxygen/html/html/GraphTraits_8h_source.html +13 -13
  61. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +1 -1
  62. package/SVF-doxygen/html/html/GraphWriter_8h.html +23 -22
  63. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +48 -48
  64. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
  65. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
  66. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
  67. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
  68. package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
  69. package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
  70. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -28
  71. package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
  72. package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -15
  73. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  74. package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
  75. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -21
  76. package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
  77. package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -10
  78. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
  79. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +38 -39
  80. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +19 -19
  81. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
  82. package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
  83. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
  84. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
  85. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  86. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
  87. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
  88. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
  89. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
  90. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
  91. package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
  92. package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
  93. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
  94. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
  95. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
  96. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
  97. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
  98. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  100. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  102. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  103. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
  104. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  105. package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
  106. package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
  107. package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
  108. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -28
  109. package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
  110. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -18
  111. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
  112. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  113. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
  114. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
  115. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
  116. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
  117. package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
  118. package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
  119. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  120. package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
  121. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
  122. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
  123. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
  124. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
  125. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
  126. package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
  127. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -24
  128. package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
  129. package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -14
  130. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
  131. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
  132. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
  133. package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
  134. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  135. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  136. package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
  137. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
  138. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
  139. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
  140. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
  141. package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
  142. package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
  143. package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
  144. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
  145. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
  146. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
  147. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
  148. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
  149. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
  150. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
  151. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  152. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -4
  153. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
  154. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
  155. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
  156. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  157. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  158. package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
  159. package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -39
  160. package/SVF-doxygen/html/html/TCT_8h.html +4 -6
  161. package/SVF-doxygen/html/html/TCT_8h_source.html +27 -28
  162. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
  163. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
  164. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  165. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
  166. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
  167. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
  168. package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
  169. package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
  170. package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -21
  171. package/SVF-doxygen/html/html/VFG_8h.html +4 -6
  172. package/SVF-doxygen/html/html/VFG_8h_source.html +14 -15
  173. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
  174. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
  175. package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -3
  176. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
  177. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  178. package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -4
  179. package/SVF-doxygen/html/html/annotated.html +291 -291
  180. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
  182. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
  183. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
  184. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  186. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  187. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  188. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  189. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
  191. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
  192. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
  193. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
  194. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
  195. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
  196. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
  198. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
  199. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
  201. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  202. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
  203. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
  204. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
  206. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
  207. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  209. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
  210. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
  211. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
  212. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
  213. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
  214. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
  215. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
  216. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +17 -17
  217. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
  218. package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
  220. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
  221. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
  222. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
  226. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  227. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
  228. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +30 -30
  230. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
  231. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  232. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  233. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  234. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  235. package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
  236. package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
  237. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  238. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
  239. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  240. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -35
  241. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  242. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
  243. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  244. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
  245. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
  246. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
  249. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  250. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  251. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +6 -6
  252. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
  253. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
  254. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
  255. package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
  256. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
  257. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
  258. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
  259. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
  260. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
  261. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
  262. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
  263. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +3 -3
  265. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
  266. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
  267. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
  268. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
  269. package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
  270. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +98 -97
  271. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  272. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
  273. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  274. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  275. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -4
  276. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  277. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
  278. package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
  279. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
  280. package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
  281. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
  282. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
  283. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +19 -19
  284. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
  285. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
  286. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  287. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
  288. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +11 -11
  289. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  290. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
  291. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
  292. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
  293. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
  294. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
  295. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
  297. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  298. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
  299. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
  300. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -7
  301. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +69 -69
  302. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
  303. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
  304. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  306. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  307. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
  308. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
  309. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
  310. package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
  311. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
  312. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  313. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
  314. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
  315. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  316. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
  317. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
  318. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
  319. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  320. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
  321. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  322. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
  323. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
  324. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
  325. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
  326. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
  327. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +25 -25
  328. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
  329. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
  330. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
  331. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
  332. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
  333. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
  334. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
  335. package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
  336. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
  337. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
  338. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
  339. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  340. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  341. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
  342. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
  343. package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
  344. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
  345. package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
  346. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
  347. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
  348. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
  349. package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
  350. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
  351. package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
  352. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
  353. package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
  354. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
  355. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
  356. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
  357. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
  358. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
  359. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
  360. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
  361. package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
  362. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
  363. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
  364. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  365. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  366. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
  367. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
  368. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
  369. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
  370. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
  371. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
  372. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
  373. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
  374. package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
  375. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
  376. package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
  377. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  378. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
  379. package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
  380. package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
  381. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
  382. package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
  383. package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
  384. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
  385. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
  386. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
  387. package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
  388. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
  389. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
  390. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
  391. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
  392. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
  393. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  394. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  395. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
  396. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
  397. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
  398. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  399. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
  400. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
  401. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
  402. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
  403. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
  404. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  405. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  406. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  407. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +11 -11
  408. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
  409. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  410. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
  411. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
  412. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  413. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
  414. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  415. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
  416. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
  417. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +21 -21
  418. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
  419. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  420. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
  421. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
  422. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
  423. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
  424. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
  425. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
  426. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
  427. package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
  428. package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -7
  429. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
  430. package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
  431. package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
  432. package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
  433. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
  434. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
  435. package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
  436. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
  437. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
  438. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
  439. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
  440. package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
  441. package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
  442. package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
  443. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
  444. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
  445. package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
  446. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
  447. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
  448. package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
  449. package/SVF-doxygen/html/html/classes.html +59 -59
  450. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  451. package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -2
  452. package/SVF-doxygen/html/html/functions_a.html +1 -1
  453. package/SVF-doxygen/html/html/functions_b.html +4 -4
  454. package/SVF-doxygen/html/html/functions_c.html +20 -18
  455. package/SVF-doxygen/html/html/functions_d.html +20 -20
  456. package/SVF-doxygen/html/html/functions_e.html +14 -16
  457. package/SVF-doxygen/html/html/functions_eval_i.html +2 -2
  458. package/SVF-doxygen/html/html/functions_f.html +1 -1
  459. package/SVF-doxygen/html/html/functions_func.html +1 -1
  460. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  461. package/SVF-doxygen/html/html/functions_func_c.html +4 -4
  462. package/SVF-doxygen/html/html/functions_func_d.html +14 -14
  463. package/SVF-doxygen/html/html/functions_func_e.html +8 -8
  464. package/SVF-doxygen/html/html/functions_func_g.html +72 -72
  465. package/SVF-doxygen/html/html/functions_func_h.html +4 -7
  466. package/SVF-doxygen/html/html/functions_func_i.html +17 -20
  467. package/SVF-doxygen/html/html/functions_func_m.html +1 -1
  468. package/SVF-doxygen/html/html/functions_func_n.html +3 -3
  469. package/SVF-doxygen/html/html/functions_func_o.html +24 -24
  470. package/SVF-doxygen/html/html/functions_func_p.html +4 -4
  471. package/SVF-doxygen/html/html/functions_func_r.html +2 -2
  472. package/SVF-doxygen/html/html/functions_func_s.html +15 -18
  473. package/SVF-doxygen/html/html/functions_func_w.html +8 -8
  474. package/SVF-doxygen/html/html/functions_g.html +84 -82
  475. package/SVF-doxygen/html/html/functions_h.html +6 -12
  476. package/SVF-doxygen/html/html/functions_i.html +40 -43
  477. package/SVF-doxygen/html/html/functions_l.html +3 -3
  478. package/SVF-doxygen/html/html/functions_m.html +1 -1
  479. package/SVF-doxygen/html/html/functions_n.html +30 -30
  480. package/SVF-doxygen/html/html/functions_o.html +39 -43
  481. package/SVF-doxygen/html/html/functions_p.html +16 -16
  482. package/SVF-doxygen/html/html/functions_r.html +8 -6
  483. package/SVF-doxygen/html/html/functions_rela.html +3 -3
  484. package/SVF-doxygen/html/html/functions_s.html +22 -25
  485. package/SVF-doxygen/html/html/functions_t.html +3 -3
  486. package/SVF-doxygen/html/html/functions_type_b.html +1 -1
  487. package/SVF-doxygen/html/html/functions_type_c.html +7 -7
  488. package/SVF-doxygen/html/html/functions_type_d.html +4 -4
  489. package/SVF-doxygen/html/html/functions_type_e.html +4 -4
  490. package/SVF-doxygen/html/html/functions_type_g.html +6 -6
  491. package/SVF-doxygen/html/html/functions_type_i.html +4 -4
  492. package/SVF-doxygen/html/html/functions_type_n.html +27 -27
  493. package/SVF-doxygen/html/html/functions_type_p.html +3 -3
  494. package/SVF-doxygen/html/html/functions_type_r.html +2 -2
  495. package/SVF-doxygen/html/html/functions_type_v.html +2 -2
  496. package/SVF-doxygen/html/html/functions_v.html +5 -5
  497. package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
  498. package/SVF-doxygen/html/html/functions_vars_d.html +1 -1
  499. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  500. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  501. package/SVF-doxygen/html/html/functions_vars_g.html +7 -5
  502. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  503. package/SVF-doxygen/html/html/functions_vars_i.html +6 -6
  504. package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
  505. package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
  506. package/SVF-doxygen/html/html/functions_w.html +17 -17
  507. package/SVF-doxygen/html/html/hierarchy.html +159 -159
  508. package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
  509. package/SVF-doxygen/html/html/iterator_8h.html +16 -15
  510. package/SVF-doxygen/html/html/iterator_8h_source.html +53 -53
  511. package/SVF-doxygen/html/html/iterator__range_8h.html +9 -8
  512. package/SVF-doxygen/html/html/iterator__range_8h_source.html +11 -11
  513. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  514. package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
  515. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
  516. package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
  517. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
  518. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  519. package/SVF-doxygen/html/html/namespacellvm.html +1 -572
  520. package/SVF-doxygen/html/html/namespacemembers_c.html +3 -3
  521. package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
  522. package/SVF-doxygen/html/html/namespacemembers_e.html +1 -1
  523. package/SVF-doxygen/html/html/namespacemembers_enum.html +1 -1
  524. package/SVF-doxygen/html/html/namespacemembers_eval.html +5 -5
  525. package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
  526. package/SVF-doxygen/html/html/namespacemembers_func_c.html +2 -2
  527. package/SVF-doxygen/html/html/namespacemembers_func_e.html +1 -1
  528. package/SVF-doxygen/html/html/namespacemembers_func_i.html +8 -5
  529. package/SVF-doxygen/html/html/namespacemembers_func_m.html +4 -4
  530. package/SVF-doxygen/html/html/namespacemembers_func_n.html +1 -1
  531. package/SVF-doxygen/html/html/namespacemembers_func_v.html +1 -1
  532. package/SVF-doxygen/html/html/namespacemembers_func_w.html +1 -1
  533. package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
  534. package/SVF-doxygen/html/html/namespacemembers_i.html +6 -3
  535. package/SVF-doxygen/html/html/namespacemembers_m.html +4 -4
  536. package/SVF-doxygen/html/html/namespacemembers_n.html +3 -3
  537. package/SVF-doxygen/html/html/namespacemembers_r.html +1 -1
  538. package/SVF-doxygen/html/html/namespacemembers_t.html +1 -1
  539. package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
  540. package/SVF-doxygen/html/html/namespacemembers_type_r.html +1 -1
  541. package/SVF-doxygen/html/html/namespacemembers_v.html +1 -1
  542. package/SVF-doxygen/html/html/namespacemembers_w.html +1 -1
  543. package/SVF-doxygen/html/html/namespaces.html +5 -5
  544. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  545. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  546. package/SVF-doxygen/html/html/search/all_10.js +12 -12
  547. package/SVF-doxygen/html/html/search/all_11.js +7 -7
  548. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  549. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  550. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  551. package/SVF-doxygen/html/html/search/all_16.js +10 -10
  552. package/SVF-doxygen/html/html/search/all_2.js +3 -3
  553. package/SVF-doxygen/html/html/search/all_3.js +7 -7
  554. package/SVF-doxygen/html/html/search/all_4.js +20 -20
  555. package/SVF-doxygen/html/html/search/all_5.js +9 -9
  556. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  557. package/SVF-doxygen/html/html/search/all_7.js +87 -87
  558. package/SVF-doxygen/html/html/search/all_8.js +1 -3
  559. package/SVF-doxygen/html/html/search/all_9.js +23 -23
  560. package/SVF-doxygen/html/html/search/all_c.js +2 -4
  561. package/SVF-doxygen/html/html/search/all_d.js +5 -5
  562. package/SVF-doxygen/html/html/search/all_e.js +11 -11
  563. package/SVF-doxygen/html/html/search/all_f.js +19 -19
  564. package/SVF-doxygen/html/html/search/classes_3.js +13 -13
  565. package/SVF-doxygen/html/html/search/classes_6.js +64 -64
  566. package/SVF-doxygen/html/html/search/classes_8.js +10 -10
  567. package/SVF-doxygen/html/html/search/classes_a.js +1 -1
  568. package/SVF-doxygen/html/html/search/classes_d.js +2 -2
  569. package/SVF-doxygen/html/html/search/classes_e.js +1 -1
  570. package/SVF-doxygen/html/html/search/enums_8.js +1 -1
  571. package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -1
  572. package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
  573. package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -1
  574. package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -1
  575. package/SVF-doxygen/html/html/search/enumvalues_8.js +2 -2
  576. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
  577. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  578. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  579. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  580. package/SVF-doxygen/html/html/search/functions_11.js +1 -2
  581. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  582. package/SVF-doxygen/html/html/search/functions_15.js +8 -8
  583. package/SVF-doxygen/html/html/search/functions_2.js +4 -4
  584. package/SVF-doxygen/html/html/search/functions_3.js +5 -5
  585. package/SVF-doxygen/html/html/search/functions_4.js +7 -7
  586. package/SVF-doxygen/html/html/search/functions_6.js +21 -21
  587. package/SVF-doxygen/html/html/search/functions_7.js +1 -2
  588. package/SVF-doxygen/html/html/search/functions_8.js +8 -8
  589. package/SVF-doxygen/html/html/search/functions_c.js +5 -5
  590. package/SVF-doxygen/html/html/search/functions_d.js +4 -4
  591. package/SVF-doxygen/html/html/search/functions_e.js +14 -14
  592. package/SVF-doxygen/html/html/search/functions_f.js +4 -4
  593. package/SVF-doxygen/html/html/search/namespaces_0.js +0 -2
  594. package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
  595. package/SVF-doxygen/html/html/search/related_9.js +3 -3
  596. package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
  597. package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
  598. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
  599. package/SVF-doxygen/html/html/search/typedefs_3.js +2 -2
  600. package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
  601. package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
  602. package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
  603. package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
  604. package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
  605. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
  606. package/SVF-doxygen/html/html/search/variables_10.js +1 -1
  607. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  608. package/SVF-doxygen/html/html/search/variables_2.js +1 -1
  609. package/SVF-doxygen/html/html/search/variables_4.js +1 -1
  610. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  611. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  612. package/SVF-doxygen/html/html/search/variables_7.js +2 -2
  613. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  614. package/SVF-doxygen/html/html/search/variables_9.js +5 -5
  615. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  616. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  617. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  618. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
  619. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
  620. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
  621. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
  622. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
  623. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
  624. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
  625. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
  626. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
  627. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
  628. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
  629. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
  630. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
  631. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
  632. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
  633. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
  634. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
  635. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
  636. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
  637. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
  638. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
  639. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
  640. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
  641. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
  642. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
  643. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
  644. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
  645. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
  646. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
  647. package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
  648. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
  649. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
  650. package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
  651. package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
  652. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
  653. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
  654. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
  655. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
  656. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
  657. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
  658. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
  659. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
  660. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
  661. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
  662. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
  663. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
  664. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
  665. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
  666. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
  667. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
  668. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
  669. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
  670. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
  671. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
  672. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
  673. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
  674. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
  675. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
  676. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
  677. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
  678. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
  679. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
  680. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
  681. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
  682. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
  683. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
  684. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
  685. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
  686. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
  687. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
  688. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
  689. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
  690. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
  691. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
  692. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
  693. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
  694. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
  695. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
  696. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
  697. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
  698. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
  699. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
  700. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
  701. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
  702. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
  703. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
  704. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
  705. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
  706. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
  707. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
  708. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
  709. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
  710. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
  711. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
  712. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
  713. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
  714. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
  715. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
  716. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
  717. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
  718. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
  719. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
  720. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
  721. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
  722. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
  723. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
  724. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
  725. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
  726. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
  727. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
  728. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
  729. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
  730. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
  731. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
  732. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
  733. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
  734. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
  735. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
  736. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
  737. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
  738. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
  739. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
  740. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
  741. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
  742. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
  743. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
  744. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
  745. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
  746. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
  747. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
  748. package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
  749. package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
  750. package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
  751. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
  752. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
  753. package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
  754. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  755. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  756. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  757. package/SVF-doxygen/html/html/svf-ex_8cpp.html +9 -9
  758. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
  759. package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
  760. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  761. package/include/Graphs/CFLGraph.h +6 -6
  762. package/include/Graphs/CHG.h +6 -6
  763. package/include/Graphs/ConsG.h +6 -6
  764. package/include/Graphs/DOTGraphTraits.h +3 -3
  765. package/include/Graphs/GenericGraph.h +10 -9
  766. package/include/Graphs/GraphPrinter.h +2 -2
  767. package/include/Graphs/GraphTraits.h +29 -29
  768. package/include/Graphs/GraphWriter.h +6 -6
  769. package/include/Graphs/ICFG.h +6 -6
  770. package/include/Graphs/IRGraph.h +6 -7
  771. package/include/Graphs/PTACallGraph.h +6 -6
  772. package/include/Graphs/SVFG.h +6 -6
  773. package/include/Graphs/VFG.h +6 -6
  774. package/include/MTA/TCT.h +6 -6
  775. package/include/SABER/SrcSnkSolver.h +2 -2
  776. package/include/SVF-LLVM/DCHG.h +6 -6
  777. package/include/SVF-LLVM/LLVMUtil.h +5 -0
  778. package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
  779. package/include/SVFIR/SVFValue.h +2 -11
  780. package/include/SVFIR/SVFVariables.h +5 -5
  781. package/include/Util/GraphReachSolver.h +2 -2
  782. package/include/Util/SCC.h +1 -1
  783. package/include/Util/iterator.h +32 -32
  784. package/include/Util/iterator_range.h +11 -11
  785. package/include/WPA/WPASolver.h +1 -1
  786. package/lib/Graphs/CFLGraph.cpp +2 -2
  787. package/lib/Graphs/CHG.cpp +2 -2
  788. package/lib/Graphs/ConsG.cpp +2 -2
  789. package/lib/Graphs/GraphWriter.cpp +1 -1
  790. package/lib/Graphs/ICFG.cpp +2 -2
  791. package/lib/Graphs/IRGraph.cpp +2 -2
  792. package/lib/Graphs/PTACallGraph.cpp +2 -2
  793. package/lib/Graphs/SVFG.cpp +1 -1
  794. package/lib/Graphs/VFG.cpp +2 -2
  795. package/lib/MTA/TCT.cpp +1 -1
  796. package/lib/SVF-LLVM/LLVMModule.cpp +0 -2
  797. package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
  798. package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
  799. package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
  800. package/lib/SVFIR/SVFValue.cpp +0 -1
  801. package/package.json +1 -1
@@ -66,291 +66,288 @@ $(function() {
66
66
  <div class="title">SVFValue.h</div> </div>
67
67
  </div><!--header-->
68
68
  <div class="contents">
69
- <a href="SVFValue_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="SVFType_8h.html">SVFIR/SVFType.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;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a2eae2d6648dd6715421bd7af67d57637"> 41</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="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFType.html">SVFType</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3"> 53</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFBasicBlock*&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">BBSet</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc"> 54</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc">BBList</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f"> 55</a></span>&#160; <span class="keyword">typedef</span> BBList <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">LoopBBs</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff"> 58</a></span>&#160; BBList <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">reachableBBs</a>; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3"> 59</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</a>; </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0"> 60</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</a>; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723"> 61</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad578beedd9a6b64a57f82d799e6b8fa7"> 62</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*, LoopBBs&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad578beedd9a6b64a57f82d799e6b8fa7">bb2LoopMap</a>; </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a2b5c892437d21ece0a9e0ae7a285b622"> 64</a></span>&#160; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2b5c892437d21ece0a9e0ae7a285b622">SVFLoopAndDomInfo</a>()</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="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aae39e2f9440710b401f0d34f90ced407"> 68</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aae39e2f9440710b401f0d34f90ced407">~SVFLoopAndDomInfo</a>() {}</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7"> 70</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a3fa100cdc0841b77ee14d35b78632b72"> 75</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a3fa100cdc0841b77ee14d35b78632b72">getDomFrontierMap</a>()</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c"> 80</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">hasLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> bb2LoopMap.find(bb)!=bb2LoopMap.end();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">const</span> LoopBBs&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d"> 87</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d">getLoopHeader</a>(<span class="keyword">const</span> LoopBBs&amp; lp)<span class="keyword"> const</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; assert(!lp.empty() &amp;&amp; <span class="stringliteral">&quot;this is not a loop, empty basic block&quot;</span>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> lp.<a class="code" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">front</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117"> 93</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117">loopContainsBB</a>(<span class="keyword">const</span> LoopBBs&amp; lp, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> std::find(lp.begin(), lp.end(), bb)!=lp.end();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aed2f125f7b8c21092b23d9727568ba50"> 98</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aed2f125f7b8c21092b23d9727568ba50">addToBB2LoopMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* loopBB)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; bb2LoopMap[bb].push_back(loopBB);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083"> 103</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083">getPostDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a6b87fa0530b6d94f201a0989b35c2277"> 108</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a6b87fa0530b6d94f201a0989b35c2277">getPostDomTreeMap</a>()</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</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;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716"> 113</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716">getDomTreeMap</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"> 115</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</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;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a1bf34bdba1c34c7298b8f914a552f7d8"> 118</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a1bf34bdba1c34c7298b8f914a552f7d8">getDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4"> 123</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4">isUnreachable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> std::find(reachableBBs.begin(), reachableBBs.end(), bb)==reachableBBs.end();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b"> 128</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> BBList&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b">getReachableBBs</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">reachableBBs</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#afc83955233ed9c77ad6a8b36e4a6b168"> 133</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#afc83955233ed9c77ad6a8b36e4a6b168">setReachableBBs</a>(BBList&amp; bbs)</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; reachableBBs = bbs;</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"> 138</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a48654f61a84ac5f93b02fb618cd0d045">getExitBlocksOfLoop</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, BBList&amp; exitbbs) <span class="keyword">const</span>;</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; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">isLoopHeader</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb) <span class="keyword">const</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a342f2825d6b7e3289d0f0f4b7ee8247c">dominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue) <span class="keyword">const</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">postDominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue) <span class="keyword">const</span>;</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_1SVFValue.html"> 147</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a67579a8b316129e389ed0f5e3f0ee509"> 149</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</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;<span class="keyword">public</span>:</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4"> 152</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4">GNodeK</a>;</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_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e"> 154</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</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"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e"> 156</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e">SVFVal</a>,</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577"> 157</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>,</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4"> 158</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a>,</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd"> 159</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd">SVFInst</a>,</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5"> 160</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5">SVFCall</a>,</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914"> 161</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914">SVFVCall</a>,</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a"> 162</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a>,</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21"> 163</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21">SVFArg</a>,</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66"> 164</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66">SVFConst</a>,</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca"> 165</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca">SVFConstData</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814"> 166</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814">SVFConstInt</a>,</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82"> 167</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82">SVFConstFP</a>,</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c"> 168</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c">SVFNullPtr</a>,</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa"> 169</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa">SVFBlackHole</a>,</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73"> 170</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73">SVFMetaAsValue</a>,</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0"> 171</a></span>&#160; SVFOther</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"> 174</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67"> 175</a></span>&#160; GNodeK <a class="code" href="classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67">kind</a>; </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#ab9dc800239cb906c1a044b05568f5fec"> 176</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#ab9dc800239cb906c1a044b05568f5fec">ptrInUncalledFun</a>; </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a89e13c82c6f302704838b9496a288aea"> 177</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#a89e13c82c6f302704838b9496a288aea">has_name</a>; </div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01"> 178</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01">constDataOrAggData</a>; </div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78"> 181</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78">type</a>; </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07"> 182</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07">name</a>; </div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd"> 183</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd">sourceLoc</a>; </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k): kind(k),</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; ptrInUncalledFun(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), has_name(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), constDataOrAggData(SVFConstData==k), type(ty),</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; name(val), sourceLoc(<span class="stringliteral">&quot;No source code Info&quot;</span>)</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; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b"> 192</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b">setConstDataOrAggData</a>()</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; constDataOrAggData = <span class="keyword">true</span>;</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"><a class="line" href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4"> 196</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4">setPtrInUncalledFunction</a>()</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; ptrInUncalledFun = <span class="keyword">true</span>;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afe3fb992ad104c32520172ebd92c2588"> 200</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#afe3fb992ad104c32520172ebd92c2588">setHasName</a>()</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; has_name = <span class="keyword">true</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826"> 210</a></span>&#160; <span class="keyword">inline</span> GNodeK <a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> kind;</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"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654"> 215</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</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"> 219</span>&#160;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821"> 220</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>;</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_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3"> 224</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3">isConstDataOrAggData</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> constDataOrAggData;</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"><a class="line" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6"> 228</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">ptrInUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> ptrInUncalledFun;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73"> 232</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73">isblackHole</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">return</span> getKind() == SVFBlackHole;;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177"> 236</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177">isNullPtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> getKind() == SVFNullPtr;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a4c46c11c4b1c0f43c80818cf7408703a"> 240</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#a4c46c11c4b1c0f43c80818cf7408703a">hasName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">return</span> has_name;</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_1SVFValue.html#a588acec1904d440797ca4500f63f7d28"> 244</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#a588acec1904d440797ca4500f63f7d28">setSourceLoc</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; sourceCodeInfo)</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; sourceLoc = sourceCodeInfo;</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"><a class="line" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b"> 248</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">getSourceLoc</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">return</span> sourceLoc;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> toString() <span class="keyword">const</span>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;</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"><a class="line" href="classSVF_1_1SVFValue.html#a39307d40da99ae8055e6b5fde5d92807"> 258</a></span>&#160; <span class="keyword">friend</span> <a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a>&amp; <a class="code" href="namespaceSVF.html#aec4534b227e8f43b9077e708b74817fa">operator&lt;&lt; </a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> &amp;node)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; o &lt;&lt; node.<a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</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;</div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html"> 266</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="l00267"></a><span class="lineno"> 267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a67579a8b316129e389ed0f5e3f0ee509"> 268</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</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;<span class="keyword">public</span>:</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48"> 271</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFBasicBlock*&gt;::const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">const_iterator</a>;</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9"> 272</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">SVFLoopAndDomInfo::BBSet</a> <a class="code" href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9">BBSet</a>;</div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3"> 273</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc">SVFLoopAndDomInfo::BBList</a> <a class="code" href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3">BBList</a>;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64"> 274</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">SVFLoopAndDomInfo::LoopBBs</a> <a class="code" href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64">LoopBBs</a>;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9"> 277</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="l00278"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5"> 278</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5">intricsic</a>; </div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1"> 279</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1">addrTaken</a>; </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea"> 280</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="l00281"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6"> 281</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="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad"> 282</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">varArg</a>; </div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc"> 283</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">funcType</a>; </div><div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1"> 284</a></span>&#160; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* <a class="code" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">loopAndDom</a>; </div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007"> 285</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007">realDefFun</a>; </div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f"> 286</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">allBBs</a>; </div><div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75"> 287</a></span>&#160; std::vector&lt;const SVFArgument*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>; </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160;</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="keyword">protected</span>:</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6"> 292</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">addBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; allBBs.push_back(bb);</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;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c"> 297</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c">addArgument</a>(<a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* arg)</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; allArgs.push_back(arg);</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"><a class="line" href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8"> 302</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8">setIsUncalledFunction</a>(<span class="keywordtype">bool</span> uncalledFunction)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; isUncalled = uncalledFunction;</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;</div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aaddef080cdc8e4080fc2da1e3cf92deb"> 307</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#aaddef080cdc8e4080fc2da1e3cf92deb">setIsNotRet</a>(<span class="keywordtype">bool</span> notRet)</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; isNotRet = notRet;</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"><a class="line" href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab"> 312</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab">setDefFunForMultipleModule</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* deffun)</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; realDefFun = deffun;</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</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="keyword">public</span>:</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty,<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* ft, <span class="keywordtype">bool</span> declare, <span class="keywordtype">bool</span> intricsic, <span class="keywordtype">bool</span> addrTaken, <span class="keywordtype">bool</span> varg, <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* ld);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; f) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>();</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"><a class="line" href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f"> 324</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</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> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFFunc;</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#a5798ecc742ee74e357d13eea751258c4"> 329</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4">getLoopAndDomInfo</a>()</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; <span class="keywordflow">return</span> loopAndDom;</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_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76"> 333</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="l00334"></a><span class="lineno"> 334</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">return</span> isDecl;</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;</div><div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb"> 338</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="l00339"></a><span class="lineno"> 339</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> intricsic;</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_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e"> 343</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e">hasAddressTaken</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">return</span> addrTaken;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; }</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d"> 349</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d">getFunctionType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> funcType;</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;</div><div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263"> 355</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263">getReturnType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> funcType-&gt;<a class="code" href="classSVF_1_1SVFFunctionType.html#a74ce115a0fa958f259469b521468a2b3">getReturnType</a>();</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;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd"> 360</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd">getDefFunForMultipleModule</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">if</span>(realDefFun==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> realDefFun;</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"> 367</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> arg_size() <span class="keyword">const</span>;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* getArg(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordtype">bool</span> isVarArg() <span class="keyword">const</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63"> 371</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63">hasBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">return</span> !allBBs.empty();</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"><a class="line" href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d"> 376</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">getEntryBlock</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; assert(hasBasicBlock() &amp;&amp; <span class="stringliteral">&quot;function does not have any Basicblock, external function?&quot;</span>);</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">return</span> allBBs.front();</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; }</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071"> 382</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">getExitBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; assert(hasBasicBlock() &amp;&amp; <span class="stringliteral">&quot;function does not have any Basicblock, external function?&quot;</span>);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <span class="keywordflow">return</span> allBBs.back();</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"> 387</span>&#160;</div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5"> 388</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5">front</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> getEntryBlock();</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"> 392</span>&#160;</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c"> 393</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">back</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">return</span> getExitBB();</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae"> 398</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">begin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> allBBs.begin();</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</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_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7"> 403</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">end</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> allBBs.end();</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"> 407</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38"> 408</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38">getBasicBlockList</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> allBBs;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</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_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c"> 413</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c">getReachableBBs</a>()<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b">getReachableBBs</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"> 417</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8"> 418</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8">isUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <span class="keywordflow">return</span> isUncalled;</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"><a class="line" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347"> 423</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="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> isNotRet;</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;</div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a61505b528343c7d728eba3a705930a16"> 428</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a61505b528343c7d728eba3a705930a16">getExitBlocksOfLoop</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, BBList&amp; exitbbs)<span class="keyword"> const</span></div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a48654f61a84ac5f93b02fb618cd0d045">getExitBlocksOfLoop</a>(bb,exitbbs);</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; }</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160;</div><div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714"> 433</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714">hasLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">hasLoopInfo</a>(bb);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; }</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160;</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942"> 438</a></span>&#160; <span class="keyword">const</span> LoopBBs&amp; <a class="code" href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942">getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">getLoopInfo</a>(bb);</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"><a class="line" href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b"> 443</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b">getLoopHeader</a>(<span class="keyword">const</span> BBList&amp; lp)<span class="keyword"> const</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d">getLoopHeader</a>(lp);</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; }</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_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf"> 448</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf">loopContainsBB</a>(<span class="keyword">const</span> BBList&amp; lp, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117">loopContainsBB</a>(lp,bb);</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"> 452</span>&#160;</div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f"> 453</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f">getDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716">getDomTreeMap</a>();</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"><a class="line" href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65"> 458</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">getDomFrontierMap</a>();</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;</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768"> 463</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768">isLoopHeader</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">isLoopHeader</a>(bb);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; }</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160;</div><div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078"> 468</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078">dominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a342f2825d6b7e3289d0f0f4b7ee8247c">dominate</a>(bbKey,bbValue);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;</div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929"> 473</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929">postDominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">postDominate</a>(bbKey,bbValue);</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;};</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160;</div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html"> 480</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="l00481"></a><span class="lineno"> 481</span>&#160;{</div><div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a67579a8b316129e389ed0f5e3f0ee509"> 482</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca"> 485</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFInstruction*&gt;::const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">const_iterator</a>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160;</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a"> 488</a></span>&#160; std::vector&lt;const SVFInstruction*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>; </div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd"> 489</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">succBBs</a>; </div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c"> 490</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c">predBBs</a>; </div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7"> 491</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7">fun</a>; </div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65"> 495</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">addInstruction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst)</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; allInsts.push_back(inst);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff"> 500</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff">addSuccBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succ)</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; succBBs.push_back(succ);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; }</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160;</div><div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5"> 505</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5">addPredBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* pred)</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; predBBs.push_back(pred);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>();</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160;</div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8"> 516</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBB;</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;</div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e"> 521</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFInstruction*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">getInstructionList</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">return</span> allInsts;</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; }</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160;</div><div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc"> 526</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">return</span> allInsts.begin();</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; }</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a"> 531</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">return</span> allInsts.end();</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; }</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160;</div><div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059"> 536</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; }</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160;</div><div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09"> 541</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; }</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160;</div><div class="line"><a name="l00546"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e"> 546</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">front</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">return</span> allInsts.front();</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc"> 551</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">back</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> allInsts.back();</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* getTerminator() <span class="keyword">const</span>;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae"> 560</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">getSuccessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> succBBs;</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160;</div><div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231"> 565</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">getPredecessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <span class="keywordflow">return</span> predBBs;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; }</div><div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36"> 569</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">getNumSuccessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">return</span> succBBs.size();</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; }</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBSuccessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBSuccessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb) <span class="keyword">const</span>;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBPredecessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBPredecessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb) <span class="keyword">const</span>;</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;};</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160;</div><div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html"> 579</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;{</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b"> 582</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFInstruction*&gt; <a class="code" href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b">InstVec</a>;</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0"> 585</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0">bb</a>; </div><div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3"> 586</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3">terminator</a>; </div><div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca"> 587</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca">ret</a>; </div><div class="line"><a name="l00588"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679"> 588</a></span>&#160; InstVec <a class="code" href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679">succInsts</a>; </div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34"> 589</a></span>&#160; InstVec <a class="code" href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34">predInsts</a>; </div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> tm, <span class="keywordtype">bool</span> isRet, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFInst);</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231"> 596</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; {</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFInst ||</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall ||</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; }</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;</div><div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198"> 603</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; }</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160;</div><div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f"> 608</a></span>&#160; <span class="keyword">inline</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f">getSuccInstructions</a>()</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; {</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; <span class="keywordflow">return</span> succInsts;</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; }</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160;</div><div class="line"><a name="l00613"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8"> 613</a></span>&#160; <span class="keyword">inline</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8">getPredInstructions</a>()</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; {</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">return</span> predInsts;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; }</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b"> 618</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b">getSuccInstructions</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">return</span> succInsts;</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; }</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160;</div><div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc"> 623</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc">getPredInstructions</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">return</span> predInsts;</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; }</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160;</div><div class="line"><a name="l00628"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e"> 628</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordflow">return</span> bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">getParent</a>();</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; }</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160;</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d"> 633</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d">isTerminator</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">return</span> terminator;</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; }</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d"> 638</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d">isRetInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160;};</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html"> 644</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;{</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a67579a8b316129e389ed0f5e3f0ee509"> 646</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524"> 649</a></span>&#160; std::vector&lt;const SVFValue*&gt; <a class="code" href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524">args</a>;</div><div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6"> 650</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6">varArg</a>;</div><div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491"> 651</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491">calledVal</a>;</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77"> 655</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">addArgument</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>)</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; args.push_back(a);</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; }</div><div class="line"><a name="l00659"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91"> 659</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91">setCalledOperand</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v)</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; {</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; calledVal = v;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160;</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00666"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5"> 666</a></span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5">SVFCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> va, <span class="keywordtype">bool</span> tm, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFCall) :</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(i, ty, b, tm, <a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>, k), varArg(va), calledVal(nullptr)</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; {</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; }</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd"> 673</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; {</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall || node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; }</div><div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5"> 677</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *node)</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall || node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00681"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0"> 681</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span> args.size();</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e"> 685</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">arg_empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">return</span> args.empty();</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; }</div><div class="line"><a name="l00689"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14"> 689</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; assert(i &lt; arg_size() &amp;&amp; <span class="stringliteral">&quot;out of bound access of the argument&quot;</span>);</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">return</span> args[i];</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div><div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121"> 694</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">return</span> arg_size();</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div><div class="line"><a name="l00698"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3"> 698</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">getCalledOperand</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">return</span> calledVal;</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; }</div><div class="line"><a name="l00702"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05"> 702</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> varArg;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766"> 706</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>&gt;(calledVal);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div><div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558"> 710</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a4f6431ca72e0378bf2428de8a87ba648">getFunction</a>();</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; }</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160;};</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html"> 716</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFVirtualCallInst.html">SVFVirtualCallInst</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a></div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160;{</div><div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a67579a8b316129e389ed0f5e3f0ee509"> 718</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f"> 721</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f">vCallVtblPtr</a>; </div><div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6"> 722</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6">virtualFunIdx</a>; </div><div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268"> 723</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268">funNameOfVcall</a>; </div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7"> 726</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7">setFunIdxInVtable</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx)</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; {</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; virtualFunIdx = idx;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div><div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0"> 730</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0">setFunNameOfVirtualCall</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; funNameOfVcall = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; }</div><div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b"> 734</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b">setVtablePtr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* vptr)</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; {</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; vCallVtblPtr = vptr;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9"> 740</a></span>&#160; <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9">SVFVirtualCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> vararg, <span class="keywordtype">bool</span> tm) :</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(i,ty,b,vararg,tm, SVFVCall), vCallVtblPtr(nullptr), virtualFunIdx(-1), funNameOfVcall(<span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; {</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div><div class="line"><a name="l00744"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a"> 744</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a">getVtablePtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; assert(vCallVtblPtr &amp;&amp; <span class="stringliteral">&quot;virtual call does not have a vtblptr? set it first&quot;</span>);</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">return</span> vCallVtblPtr;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div><div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e"> 749</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e">getFunIdxInVtable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; assert(virtualFunIdx &gt;=0 &amp;&amp; <span class="stringliteral">&quot;virtual function idx is less than 0? not set yet?&quot;</span>);</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <span class="keywordflow">return</span> virtualFunIdx;</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; }</div><div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88"> 754</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88">getFunNameOfVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <span class="keywordflow">return</span> funNameOfVcall;</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; }</div><div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9"> 758</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; {</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; }</div><div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23"> 762</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *node)</div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div><div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26"> 766</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> *node)</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; {</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; }</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;};</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160;</div><div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html"> 772</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160;{</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00775"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa"> 775</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa">SVFConstant</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFConst): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(_const, ty, k)</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; {</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; }</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160;</div><div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51"> 780</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConst ||</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob ||</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; }</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;};</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html"> 792</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a></div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;{</div><div class="line"><a name="l00794"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a67579a8b316129e389ed0f5e3f0ee509"> 794</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e"> 797</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e">realDefGlobal</a>; </div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00800"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a"> 800</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a">setDefGlobalForMultipleModule</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* defg)</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; {</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; realDefGlobal = defg;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04"> 806</a></span>&#160; <a class="code" href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04">SVFGlobalValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _gv, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>(_gv, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFGlob), realDefGlobal(nullptr)</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; {</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160;</div><div class="line"><a name="l00812"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01"> 812</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01">getDefGlobalForMultipleModule</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; <span class="keywordflow">if</span>(realDefGlobal==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">return</span> realDefGlobal;</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; }</div><div class="line"><a name="l00818"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96"> 818</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; {</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; }</div><div class="line"><a name="l00822"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b"> 822</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a> *node)</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; {</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; }</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;};</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;</div><div class="line"><a name="l00828"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html"> 828</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160;{</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4"> 831</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4">fun</a>;</div><div class="line"><a name="l00832"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d"> 832</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d">argNo</a>;</div><div class="line"><a name="l00833"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd"> 833</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd">uncalled</a>;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00835"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0"> 835</a></span>&#160; <a class="code" href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0">SVFArgument</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _arg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* _fun, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _argNo, <span class="keywordtype">bool</span> _uncalled): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(_arg, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFArg), fun(_fun), argNo(_argNo), uncalled(_uncalled)</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; {</div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; }</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57"> 840</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; }</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;</div><div class="line"><a name="l00847"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591"> 847</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591">getArgNo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">return</span> argNo;</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; }</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e"> 852</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e">isArgOfUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <span class="keywordflow">return</span> uncalled;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; }</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d"> 857</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; {</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFArg;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; }</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160;};</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;</div><div class="line"><a name="l00865"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html"> 865</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a></div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160;{</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00868"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac"> 868</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac">SVFConstantData</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFConstData): <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>(_const, ty, k)</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; }</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160;</div><div class="line"><a name="l00873"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3"> 873</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; {</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; }</div><div class="line"><a name="l00881"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d"> 881</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; {</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;};</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;</div><div class="line"><a name="l00892"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html"> 892</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;{</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00895"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587"> 895</a></span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587">zval</a>;</div><div class="line"><a name="l00896"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671"> 896</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671">sval</a>;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1"> 898</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1">SVFConstantInt</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> z, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> s): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFConstInt), zval(z), sval(s)</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; {</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; }</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160;</div><div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42"> 903</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div><div class="line"><a name="l00907"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49"> 907</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; {</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt;</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; }</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="comment">// Return the constant as a 64-bit unsigned integer value after it has been zero extended as appropriate for the type of this constant.</span></div><div class="line"><a name="l00912"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e"> 912</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e">getZExtValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; <span class="keywordflow">return</span> zval;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; }</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="comment">// Return the constant as a 64-bit integer value after it has been sign extended as appropriate for the type of this constan</span></div><div class="line"><a name="l00917"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4"> 917</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">return</span> sval;</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; }</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160;};</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160;</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160;</div><div class="line"><a name="l00924"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html"> 924</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160;{</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00927"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9"> 927</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9">dval</a>;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00929"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f"> 929</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f">SVFConstantFP</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keywordtype">double</span> d): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFConstFP), dval(d)</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; }</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc"> 934</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc">getFPValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">return</span> dval;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; }</div><div class="line"><a name="l00938"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857"> 938</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; {</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP;</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; }</div><div class="line"><a name="l00942"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42"> 942</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; {</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP;</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; }</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160;};</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;</div><div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html"> 949</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantNullPtr.html">SVFConstantNullPtr</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;{</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00953"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd"> 953</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd">SVFConstantNullPtr</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFNullPtr)</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <a class="code" href="classSVF_1_1SVFConstantNullPtr.html">SVFConstantNullPtr</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;</div><div class="line"><a name="l00958"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e"> 958</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr;</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; }</div><div class="line"><a name="l00962"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59"> 962</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; {</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160;};</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html"> 968</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBlackHoleValue.html">SVFBlackHoleValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160;{</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00972"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622"> 972</a></span>&#160; <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622">SVFBlackHoleValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFBlackHole)</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; {</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <a class="code" href="classSVF_1_1SVFBlackHoleValue.html">SVFBlackHoleValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;</div><div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5"> 977</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160; }</div><div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2"> 981</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; {</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; }</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;};</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;</div><div class="line"><a name="l00987"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html"> 987</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;{</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a"> 990</a></span>&#160; <a class="code" href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a">SVFOtherValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; other, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0">SVFValue::SVFOther</a>): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(other, ty, k)</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160; {</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160; }</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160; <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8"> 995</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160; {</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFOther;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>&#160; }</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160;};</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;<span class="comment"> * This class is only for LLVM&#39;s MetadataAsValue</span></div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l01004"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html"> 1004</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFMetadataAsValue.html">SVFMetadataAsValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a></div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;{</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01007"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4"> 1007</a></span>&#160; <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4">SVFMetadataAsValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; other, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>(other, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFMetaAsValue)</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; }</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; <a class="code" href="classSVF_1_1SVFMetadataAsValue.html">SVFMetadataAsValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;</div><div class="line"><a name="l01012"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2"> 1012</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; {</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFMetaAsValue;</div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; }</div><div class="line"><a name="l01016"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221"> 1016</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a> *node)</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160; {</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFMetaAsValue;</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160; }</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;};</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div><div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html"> 1023</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallSite.html">CallSite</a></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;{</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l01026"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730"> 1026</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> *<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01028"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910"> 1028</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910">CallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</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="classSVF_1_1SVFCallInst.html">SVFCallInst</a>&gt;(I))</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; assert(CB &amp;&amp; <span class="stringliteral">&quot;not a callsite?&quot;</span>);</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; }</div><div class="line"><a name="l01032"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef"> 1032</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; <span class="keywordflow">return</span> CB;</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160; }</div><div class="line"><a name="l01036"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc"> 1036</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ArgNo)<span class="keyword"> const</span></div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(ArgNo);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; }</div><div class="line"><a name="l01040"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f"> 1040</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>();</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; }</div><div class="line"><a name="l01044"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8"> 1044</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>();</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; }</div><div class="line"><a name="l01048"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3"> 1048</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="l01049"></a><span class="lineno"> 1049</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">arg_empty</a>();</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; }</div><div class="line"><a name="l01052"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5"> 1052</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5">getArgOperand</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(i);</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160; }</div><div class="line"><a name="l01056"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288"> 1056</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>();</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160; }</div><div class="line"><a name="l01060"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438"> 1060</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">getCalledFunction</a>();</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160; }</div><div class="line"><a name="l01064"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2"> 1064</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2">getCalledValue</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">getCalledOperand</a>();</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; }</div><div class="line"><a name="l01068"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0"> 1068</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">getCaller</a>();</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160; }</div><div class="line"><a name="l01072"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c"> 1072</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">isVarArg</a>();</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; }</div><div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169"> 1076</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169">isVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;SVFVirtualCallInst&gt;(CB);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; }</div><div class="line"><a name="l01080"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d"> 1080</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d">getVtablePtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getVtablePtr();</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; }</div><div class="line"><a name="l01085"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1"> 1085</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1">getFunIdxInVtable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getFunIdxInVtable();</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; }</div><div class="line"><a name="l01090"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9"> 1090</a></span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9">getFunNameOfVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getFunNameOfVirtualCall();</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; }</div><div class="line"><a name="l01095"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec"> 1095</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="l01096"></a><span class="lineno"> 1096</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; <span class="keywordflow">return</span> CB == CS.<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160; }</div><div class="line"><a name="l01099"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6"> 1099</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="l01100"></a><span class="lineno"> 1100</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160; <span class="keywordflow">return</span> CB != CS.<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; }</div><div class="line"><a name="l01103"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07"> 1103</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="l01104"></a><span class="lineno"> 1104</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="keywordflow">return</span> getInstruction() &lt; CS.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>();</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160; }</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;};</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</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="l01111"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207"> 1111</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="l01112"></a><span class="lineno"> 1112</span>&#160;{</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</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="l01114"></a><span class="lineno"> 1114</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;}</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;</div><div class="line"><a name="l01120"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html"> 1120</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="l01121"></a><span class="lineno"> 1121</span>&#160;{</div><div class="line"><a name="l01122"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a"> 1122</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="l01123"></a><span class="lineno"> 1123</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; std::hash&lt;const SVF::SVFInstruction *&gt; h;</div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160; }</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;};</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BASICTYPES_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a4f6431ca72e0378bf2428de8a87ba648"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4f6431ca72e0378bf2428de8a87ba648">SVF::LLVMUtil::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(std::string name)</div><div class="ttdoc">Get the corresponding Function based on its name. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00368">LLVMUtil.h:368</a></div></div>
70
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00531">SVFValue.h:531</a></div></div>
71
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a496d0e963f0f6a4f9c08183fa91792b0"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">SVF::SVFCallInst::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00681">SVFValue.h:681</a></div></div>
72
- <div class="ttc" id="classSVF_1_1SVFOtherValue_html"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html">SVF::SVFOtherValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00987">SVFValue.h:987</a></div></div>
73
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_aaa876cccdd46e7ef2e094ac4a2a29b04"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04">SVF::SVFGlobalValue::SVFGlobalValue</a></div><div class="ttdeci">SVFGlobalValue(const std::string &amp;_gv, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00806">SVFValue.h:806</a></div></div>
74
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_acc18d048b6f6b07bf1786980bb2d74f8"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8">SVF::SVFInstruction::getPredInstructions</a></div><div class="ttdeci">InstVec &amp; getPredInstructions()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00613">SVFValue.h:613</a></div></div>
75
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aaec097379a345ab0e80b6a9c50508f48"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVF::SVFFunction::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00271">SVFValue.h:271</a></div></div>
76
- <div class="ttc" id="classSVF_1_1SVFConstant_html_a8981bda3ca80a7eb07285138d8218ffa"><div class="ttname"><a href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa">SVF::SVFConstant::SVFConstant</a></div><div class="ttdeci">SVFConstant(const std::string &amp;_const, const SVFType *ty, SVFValKind k=SVFConst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00775">SVFValue.h:775</a></div></div>
77
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aa61307a21647def105677d36bfbaf32f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">SVF::SVFFunction::allBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; allBBs</div><div class="ttdoc">the definition of a function across multiple modules </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00286">SVFValue.h:286</a></div></div>
78
- <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00579">SVFValue.h:579</a></div></div>
79
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a1cf90f3c56ae200bef2a9e6a67ff97bf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf">SVF::SVFFunction::loopContainsBB</a></div><div class="ttdeci">bool loopContainsBB(const BBList &amp;lp, const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00448">SVFValue.h:448</a></div></div>
69
+ <a href="SVFValue_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="SVFType_8h.html">SVFIR/SVFType.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;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespaceSVF.html#ac8f90a58fd0d8e775e290b31f8ea9ce9"> 41</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GraphPrinter.html">SVF::GraphPrinter</a> <a class="code" href="namespaceSVF.html#ac8f90a58fd0d8e775e290b31f8ea9ce9">GraphPrinter</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFType.html">SVFType</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3"> 53</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFBasicBlock*&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">BBSet</a>;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc"> 54</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc">BBList</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f"> 55</a></span>&#160; <span class="keyword">typedef</span> BBList <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">LoopBBs</a>;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff"> 58</a></span>&#160; BBList <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">reachableBBs</a>; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3"> 59</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</a>; </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0"> 60</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</a>; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723"> 61</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad578beedd9a6b64a57f82d799e6b8fa7"> 62</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*, LoopBBs&gt;</a> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad578beedd9a6b64a57f82d799e6b8fa7">bb2LoopMap</a>; </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a2b5c892437d21ece0a9e0ae7a285b622"> 64</a></span>&#160; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2b5c892437d21ece0a9e0ae7a285b622">SVFLoopAndDomInfo</a>()</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="l00067"></a><span class="lineno"> 67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aae39e2f9440710b401f0d34f90ced407"> 68</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aae39e2f9440710b401f0d34f90ced407">~SVFLoopAndDomInfo</a>() {}</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7"> 70</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a3fa100cdc0841b77ee14d35b78632b72"> 75</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a3fa100cdc0841b77ee14d35b78632b72">getDomFrontierMap</a>()</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">dfBBsMap</a>;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c"> 80</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">hasLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">return</span> bb2LoopMap.find(bb)!=bb2LoopMap.end();</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">const</span> LoopBBs&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb) <span class="keyword">const</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d"> 87</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d">getLoopHeader</a>(<span class="keyword">const</span> LoopBBs&amp; lp)<span class="keyword"> const</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; assert(!lp.empty() &amp;&amp; <span class="stringliteral">&quot;this is not a loop, empty basic block&quot;</span>);</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">return</span> lp.<a class="code" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">front</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117"> 93</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117">loopContainsBB</a>(<span class="keyword">const</span> LoopBBs&amp; lp, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">return</span> std::find(lp.begin(), lp.end(), bb)!=lp.end();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aed2f125f7b8c21092b23d9727568ba50"> 98</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aed2f125f7b8c21092b23d9727568ba50">addToBB2LoopMap</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* loopBB)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; bb2LoopMap[bb].push_back(loopBB);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083"> 103</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083">getPostDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a6b87fa0530b6d94f201a0989b35c2277"> 108</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a6b87fa0530b6d94f201a0989b35c2277">getPostDomTreeMap</a>()</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">pdtBBsMap</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;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716"> 113</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716">getDomTreeMap</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"> 115</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</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;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a1bf34bdba1c34c7298b8f914a552f7d8"> 118</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a1bf34bdba1c34c7298b8f914a552f7d8">getDomTreeMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">dtBBsMap</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4"> 123</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4">isUnreachable</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">return</span> std::find(reachableBBs.begin(), reachableBBs.end(), bb)==reachableBBs.end();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b"> 128</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> BBList&amp; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b">getReachableBBs</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">reachableBBs</a>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFLoopAndDomInfo.html#afc83955233ed9c77ad6a8b36e4a6b168"> 133</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#afc83955233ed9c77ad6a8b36e4a6b168">setReachableBBs</a>(BBList&amp; bbs)</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; reachableBBs = bbs;</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"> 138</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a48654f61a84ac5f93b02fb618cd0d045">getExitBlocksOfLoop</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, BBList&amp; exitbbs) <span class="keyword">const</span>;</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; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">isLoopHeader</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb) <span class="keyword">const</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a342f2825d6b7e3289d0f0f4b7ee8247c">dominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue) <span class="keyword">const</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">postDominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue) <span class="keyword">const</span>;</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_1SVFValue.html"> 147</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;{</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a67579a8b316129e389ed0f5e3f0ee509"> 149</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</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;<span class="keyword">public</span>:</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4"> 152</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4">GNodeK</a>;</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_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e"> 154</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</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"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e"> 156</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e">SVFVal</a>,</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577"> 157</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4582a3728eda9f58c4e7d069e4fec577">SVFFunc</a>,</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4"> 158</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFBB</a>,</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd"> 159</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd">SVFInst</a>,</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5"> 160</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5">SVFCall</a>,</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914"> 161</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914">SVFVCall</a>,</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a"> 162</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea8a1159a8819de74d39e32aef1b415c2a">SVFGlob</a>,</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21"> 163</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21">SVFArg</a>,</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66"> 164</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66">SVFConst</a>,</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca"> 165</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca">SVFConstData</a>,</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814"> 166</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814">SVFConstInt</a>,</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82"> 167</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82">SVFConstFP</a>,</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c"> 168</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c">SVFNullPtr</a>,</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa"> 169</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa">SVFBlackHole</a>,</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73"> 170</a></span>&#160; <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73">SVFMetaAsValue</a>,</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0"> 171</a></span>&#160; SVFOther</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"> 174</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67"> 175</a></span>&#160; GNodeK <a class="code" href="classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67">kind</a>; </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#ab9dc800239cb906c1a044b05568f5fec"> 176</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#ab9dc800239cb906c1a044b05568f5fec">ptrInUncalledFun</a>; </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01"> 177</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01">constDataOrAggData</a>; </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78"> 180</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78">type</a>; </div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07"> 181</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07">name</a>; </div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd"> 182</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd">sourceLoc</a>; </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; val, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k): kind(k),</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; ptrInUncalledFun(<a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>), constDataOrAggData(SVFConstData==k), type(ty),</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; name(val), sourceLoc(<span class="stringliteral">&quot;No source code Info&quot;</span>)</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"> 189</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b"> 191</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b">setConstDataOrAggData</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; constDataOrAggData = <span class="keyword">true</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4"> 195</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4">setPtrInUncalledFunction</a>()</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"> 197</span>&#160; ptrInUncalledFun = <span class="keyword">true</span>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826"> 205</a></span>&#160; <span class="keyword">inline</span> GNodeK <a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keywordflow">return</span> kind;</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;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654"> 210</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</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"> 214</span>&#160;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821"> 215</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>;</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_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3"> 219</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3">isConstDataOrAggData</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> constDataOrAggData;</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"><a class="line" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6"> 223</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">ptrInUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">return</span> ptrInUncalledFun;</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"><a class="line" href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73"> 227</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73">isblackHole</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">return</span> getKind() == SVFBlackHole;;</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"><a class="line" href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177"> 231</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177">isNullPtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">return</span> getKind() == SVFNullPtr;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; }</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a588acec1904d440797ca4500f63f7d28"> 235</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFValue.html#a588acec1904d440797ca4500f63f7d28">setSourceLoc</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; sourceCodeInfo)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; sourceLoc = sourceCodeInfo;</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_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b"> 239</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">getSourceLoc</a>()<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> sourceLoc;</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="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> toString() <span class="keyword">const</span>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</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_1SVFValue.html#a39307d40da99ae8055e6b5fde5d92807"> 249</a></span>&#160; <span class="keyword">friend</span> <a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a>&amp; <a class="code" href="namespaceSVF.html#aec4534b227e8f43b9077e708b74817fa">operator&lt;&lt; </a>(<a class="code" href="namespaceSVF.html#a8bd74fdcb0e58d0249003df9c3fb8b31">OutStream</a> &amp;o, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> &amp;node)</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; o &lt;&lt; node.<a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</a>();</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;};</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html"> 257</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="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#a67579a8b316129e389ed0f5e3f0ee509"> 259</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48"> 262</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFBasicBlock*&gt;::const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">const_iterator</a>;</div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9"> 263</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">SVFLoopAndDomInfo::BBSet</a> <a class="code" href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9">BBSet</a>;</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3"> 264</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc">SVFLoopAndDomInfo::BBList</a> <a class="code" href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3">BBList</a>;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64"> 265</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">SVFLoopAndDomInfo::LoopBBs</a> <a class="code" href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64">LoopBBs</a>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a52581d00177fd5853d6f9de50b3e7fb9"> 268</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="l00269"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5"> 269</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5">intricsic</a>; </div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1"> 270</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1">addrTaken</a>; </div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea"> 271</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="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6"> 272</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="l00273"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad"> 273</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">varArg</a>; </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc"> 274</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">funcType</a>; </div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1"> 275</a></span>&#160; <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* <a class="code" href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">loopAndDom</a>; </div><div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007"> 276</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007">realDefFun</a>; </div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f"> 277</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">allBBs</a>; </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75"> 278</a></span>&#160; std::vector&lt;const SVFArgument*&gt; <a class="code" href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">allArgs</a>; </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;<span class="keyword">protected</span>:</div><div class="line"><a name="l00283"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6"> 283</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">addBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)</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; allBBs.push_back(bb);</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"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c"> 288</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c">addArgument</a>(<a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* arg)</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; allArgs.push_back(arg);</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</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"><a class="line" href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8"> 293</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8">setIsUncalledFunction</a>(<span class="keywordtype">bool</span> uncalledFunction)</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; isUncalled = uncalledFunction;</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#aaddef080cdc8e4080fc2da1e3cf92deb"> 298</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#aaddef080cdc8e4080fc2da1e3cf92deb">setIsNotRet</a>(<span class="keywordtype">bool</span> notRet)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; isNotRet = notRet;</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;</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab"> 303</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab">setDefFunForMultipleModule</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* deffun)</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; realDefFun = deffun;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</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="keyword">public</span>:</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; f, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty,<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* ft, <span class="keywordtype">bool</span> declare, <span class="keywordtype">bool</span> intricsic, <span class="keywordtype">bool</span> addrTaken, <span class="keywordtype">bool</span> varg, <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* ld);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; f) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>();</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"><a class="line" href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f"> 315</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; {</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFFunc;</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;</div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4"> 320</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4">getLoopAndDomInfo</a>()</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> loopAndDom;</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"><a class="line" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76"> 324</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="l00325"></a><span class="lineno"> 325</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> isDecl;</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#a7b4c6c7143d012802ea5ee962bec2deb"> 329</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="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">return</span> intricsic;</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"> 333</span>&#160;</div><div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e"> 334</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e">hasAddressTaken</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> addrTaken;</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; }</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d"> 340</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d">getFunctionType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordflow">return</span> funcType;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160;</div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263"> 346</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263">getReturnType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> funcType-&gt;<a class="code" href="classSVF_1_1SVFFunctionType.html#a74ce115a0fa958f259469b521468a2b3">getReturnType</a>();</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;</div><div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd"> 351</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd">getDefFunForMultipleModule</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">if</span>(realDefFun==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">return</span> realDefFun;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</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; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> arg_size() <span class="keyword">const</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* getArg(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx) <span class="keyword">const</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <span class="keywordtype">bool</span> isVarArg() <span class="keyword">const</span>;</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"><a class="line" href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63"> 362</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63">hasBasicBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="keywordflow">return</span> !allBBs.empty();</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_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d"> 367</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">getEntryBlock</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; assert(hasBasicBlock() &amp;&amp; <span class="stringliteral">&quot;function does not have any Basicblock, external function?&quot;</span>);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> allBBs.front();</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"> 372</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071"> 373</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">getExitBB</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; assert(hasBasicBlock() &amp;&amp; <span class="stringliteral">&quot;function does not have any Basicblock, external function?&quot;</span>);</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> allBBs.back();</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</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"><a class="line" href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5"> 379</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5">front</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> getEntryBlock();</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"><a class="line" href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c"> 384</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">back</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> getExitBB();</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"> 388</span>&#160;</div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae"> 389</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">begin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keywordflow">return</span> allBBs.begin();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; }</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7"> 394</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">end</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> allBBs.end();</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</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_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38"> 399</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38">getBasicBlockList</a>()<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> allBBs;</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"> 403</span>&#160;</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c"> 404</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c">getReachableBBs</a>()<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b">getReachableBBs</a>();</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_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8"> 409</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8">isUncalledFunction</a>()<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> isUncalled;</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"> 413</span>&#160;</div><div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347"> 414</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="l00415"></a><span class="lineno"> 415</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> isNotRet;</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</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_1SVFFunction.html#a61505b528343c7d728eba3a705930a16"> 419</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFFunction.html#a61505b528343c7d728eba3a705930a16">getExitBlocksOfLoop</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb, BBList&amp; exitbbs)<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a48654f61a84ac5f93b02fb618cd0d045">getExitBlocksOfLoop</a>(bb,exitbbs);</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"><a class="line" href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714"> 424</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714">hasLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">hasLoopInfo</a>(bb);</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942"> 429</a></span>&#160; <span class="keyword">const</span> LoopBBs&amp; <a class="code" href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942">getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">getLoopInfo</a>(bb);</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; }</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b"> 434</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b">getLoopHeader</a>(<span class="keyword">const</span> BBList&amp; lp)<span class="keyword"> const</span></div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d">getLoopHeader</a>(lp);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; }</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_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf"> 439</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf">loopContainsBB</a>(<span class="keyword">const</span> BBList&amp; lp, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117">loopContainsBB</a>(lp,bb);</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_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f"> 444</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f">getDomTreeMap</a>()<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> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716">getDomTreeMap</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"> 448</span>&#160;</div><div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65"> 449</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;const SVFBasicBlock*,BBSet&gt;</a>&amp; <a class="code" href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65">getDomFrontierMap</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">getDomFrontierMap</a>();</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; }</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768"> 454</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768">isLoopHeader</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb)<span class="keyword"> const</span></div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">isLoopHeader</a>(bb);</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"><a class="line" href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078"> 459</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078">dominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#a342f2825d6b7e3289d0f0f4b7ee8247c">dominate</a>(bbKey,bbValue);</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160;</div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929"> 464</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929">postDominate</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbKey, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bbValue)<span class="keyword"> const</span></div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span> loopAndDom-&gt;<a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">postDominate</a>(bbKey,bbValue);</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160;};</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="classSVF_1_1SVFBasicBlock.html"> 471</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="l00472"></a><span class="lineno"> 472</span>&#160;{</div><div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a67579a8b316129e389ed0f5e3f0ee509"> 473</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca"> 476</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFInstruction*&gt;::const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">const_iterator</a>;</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="keyword">private</span>:</div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a"> 479</a></span>&#160; std::vector&lt;const SVFInstruction*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">allInsts</a>; </div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd"> 480</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">succBBs</a>; </div><div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c"> 481</a></span>&#160; std::vector&lt;const SVFBasicBlock*&gt; <a class="code" href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c">predBBs</a>; </div><div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7"> 482</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7">fun</a>; </div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65"> 486</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">addInstruction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst)</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; {</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; allInsts.push_back(inst);</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160;</div><div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff"> 491</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff">addSuccBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succ)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; succBBs.push_back(succ);</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5"> 496</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5">addPredBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* pred)</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; predBBs.push_back(pred);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f);</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>();</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160;</div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8"> 507</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBB;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;</div><div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e"> 512</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFInstruction*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">getInstructionList</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">return</span> allInsts;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; }</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160;</div><div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc"> 517</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">return</span> allInsts.begin();</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; }</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160;</div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a"> 522</a></span>&#160; <span class="keyword">inline</span> const_iterator <a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">return</span> allInsts.end();</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160;</div><div class="line"><a name="l00527"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059"> 527</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; }</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160;</div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09"> 532</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; }</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160;</div><div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e"> 537</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">front</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">return</span> allInsts.front();</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; }</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc"> 542</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">back</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">return</span> allInsts.back();</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; }</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* getTerminator() <span class="keyword">const</span>;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;</div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae"> 551</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">getSuccessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">return</span> succBBs;</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160;</div><div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231"> 556</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> std::vector&lt;const SVFBasicBlock*&gt;&amp; <a class="code" href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">getPredecessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">return</span> predBBs;</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; }</div><div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36"> 560</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">getNumSuccessors</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">return</span> succBBs.size();</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; }</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBSuccessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb);</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBSuccessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb) <span class="keyword">const</span>;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBPredecessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb);</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> getBBPredecessorPos(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* succbb) <span class="keyword">const</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160;};</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160;</div><div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html"> 570</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160;{</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b"> 573</a></span>&#160; <span class="keyword">typedef</span> std::vector&lt;const SVFInstruction*&gt; <a class="code" href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b">InstVec</a>;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160;</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00576"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0"> 576</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0">bb</a>; </div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3"> 577</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3">terminator</a>; </div><div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca"> 578</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca">ret</a>; </div><div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679"> 579</a></span>&#160; InstVec <a class="code" href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679">succInsts</a>; </div><div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34"> 580</a></span>&#160; InstVec <a class="code" href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34">predInsts</a>; </div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160;</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> tm, <span class="keywordtype">bool</span> isRet, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFInst);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231"> 587</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; {</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFInst ||</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall ||</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; }</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160;</div><div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198"> 594</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">return</span> bb;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; }</div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160;</div><div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f"> 599</a></span>&#160; <span class="keyword">inline</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f">getSuccInstructions</a>()</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; {</div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">return</span> succInsts;</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; }</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8"> 604</a></span>&#160; <span class="keyword">inline</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8">getPredInstructions</a>()</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">return</span> predInsts;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; }</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div><div class="line"><a name="l00609"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b"> 609</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b">getSuccInstructions</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">return</span> succInsts;</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; }</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160;</div><div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc"> 614</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> InstVec&amp; <a class="code" href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc">getPredInstructions</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <span class="keywordflow">return</span> predInsts;</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; }</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e"> 619</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">getFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">return</span> bb-&gt;<a class="code" href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">getParent</a>();</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160;</div><div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d"> 624</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d">isTerminator</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">return</span> terminator;</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; }</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160;</div><div class="line"><a name="l00629"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d"> 629</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d">isRetInst</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; }</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160;};</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;</div><div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html"> 635</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;{</div><div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a67579a8b316129e389ed0f5e3f0ee509"> 637</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524"> 640</a></span>&#160; std::vector&lt;const SVFValue*&gt; <a class="code" href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524">args</a>;</div><div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6"> 641</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6">varArg</a>;</div><div class="line"><a name="l00642"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491"> 642</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491">calledVal</a>;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77"> 646</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">addArgument</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>)</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; args.push_back(a);</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; }</div><div class="line"><a name="l00650"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91"> 650</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91">setCalledOperand</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* v)</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; {</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; calledVal = v;</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; }</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160;</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5"> 657</a></span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5">SVFCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> va, <span class="keywordtype">bool</span> tm, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFCall) :</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>(i, ty, b, tm, <a class="code" href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a>, k), varArg(va), calledVal(nullptr)</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; {</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(<span class="keywordtype">void</span>) = <span class="keyword">delete</span>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd"> 664</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; {</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall || node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div><div class="line"><a name="l00668"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5"> 668</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *node)</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFCall || node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div><div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0"> 672</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">return</span> args.size();</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; }</div><div class="line"><a name="l00676"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e"> 676</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">arg_empty</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">return</span> args.empty();</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div><div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14"> 680</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; assert(i &lt; arg_size() &amp;&amp; <span class="stringliteral">&quot;out of bound access of the argument&quot;</span>);</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">return</span> args[i];</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div><div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121"> 685</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">return</span> arg_size();</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; }</div><div class="line"><a name="l00689"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3"> 689</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">getCalledOperand</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">return</span> calledVal;</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div><div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05"> 693</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">return</span> varArg;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div><div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766"> 697</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>&gt;(calledVal);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; }</div><div class="line"><a name="l00701"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558"> 701</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a4f6431ca72e0378bf2428de8a87ba648">getFunction</a>();</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; }</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160;};</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160;</div><div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html"> 707</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFVirtualCallInst.html">SVFVirtualCallInst</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a></div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160;{</div><div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a67579a8b316129e389ed0f5e3f0ee509"> 709</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f"> 712</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f">vCallVtblPtr</a>; </div><div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6"> 713</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6">virtualFunIdx</a>; </div><div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268"> 714</a></span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268">funNameOfVcall</a>; </div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160;</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7"> 717</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7">setFunIdxInVtable</a>(<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx)</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; virtualFunIdx = idx;</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; }</div><div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0"> 721</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0">setFunNameOfVirtualCall</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>)</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; funNameOfVcall = <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b"> 725</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b">setVtablePtr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* vptr)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; vCallVtblPtr = vptr;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00731"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9"> 731</a></span>&#160; <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9">SVFVirtualCallInst</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; i, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>, <span class="keywordtype">bool</span> vararg, <span class="keywordtype">bool</span> tm) :</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a>(i,ty,b,vararg,tm, SVFVCall), vCallVtblPtr(nullptr), virtualFunIdx(-1), funNameOfVcall(<span class="stringliteral">&quot;&quot;</span>)</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div><div class="line"><a name="l00735"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a"> 735</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a">getVtablePtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; assert(vCallVtblPtr &amp;&amp; <span class="stringliteral">&quot;virtual call does not have a vtblptr? set it first&quot;</span>);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; <span class="keywordflow">return</span> vCallVtblPtr;</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; }</div><div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e"> 740</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e">getFunIdxInVtable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; assert(virtualFunIdx &gt;=0 &amp;&amp; <span class="stringliteral">&quot;virtual function idx is less than 0? not set yet?&quot;</span>);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">return</span> virtualFunIdx;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div><div class="line"><a name="l00745"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88"> 745</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88">getFunNameOfVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">return</span> funNameOfVcall;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; }</div><div class="line"><a name="l00749"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9"> 749</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; {</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div><div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23"> 753</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *node)</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; {</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div><div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26"> 757</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> *node)</div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFVCall;</div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; }</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;};</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160;</div><div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html"> 763</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160;{</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa"> 766</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa">SVFConstant</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFConst): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(_const, ty, k)</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; {</div><div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; }</div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160;</div><div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51"> 771</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConst ||</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob ||</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;};</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160;</div><div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html"> 783</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a></div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;{</div><div class="line"><a name="l00785"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a67579a8b316129e389ed0f5e3f0ee509"> 785</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>;</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160;</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00788"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e"> 788</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e">realDefGlobal</a>; </div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a"> 791</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a">setDefGlobalForMultipleModule</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* defg)</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; realDefGlobal = defg;</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; }</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00797"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04"> 797</a></span>&#160; <a class="code" href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04">SVFGlobalValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _gv, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>(_gv, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFGlob), realDefGlobal(nullptr)</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160;</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160;</div><div class="line"><a name="l00803"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01"> 803</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01">getDefGlobalForMultipleModule</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">if</span>(realDefGlobal==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; <span class="keywordflow">return</span> realDefGlobal;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; }</div><div class="line"><a name="l00809"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96"> 809</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; {</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; }</div><div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b"> 813</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a> *node)</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFGlob;</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; }</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160;};</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160;</div><div class="line"><a name="l00819"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html"> 819</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160;{</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00822"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4"> 822</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4">fun</a>;</div><div class="line"><a name="l00823"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d"> 823</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d">argNo</a>;</div><div class="line"><a name="l00824"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd"> 824</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd">uncalled</a>;</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00826"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0"> 826</a></span>&#160; <a class="code" href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0">SVFArgument</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _arg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* _fun, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> _argNo, <span class="keywordtype">bool</span> _uncalled): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(_arg, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFArg), fun(_fun), argNo(_argNo), uncalled(_uncalled)</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; {</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160;</div><div class="line"><a name="l00831"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57"> 831</a></span>&#160; <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57">getParent</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591"> 838</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591">getArgNo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <span class="keywordflow">return</span> argNo;</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160;</div><div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e"> 843</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e">isArgOfUncalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">return</span> uncalled;</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; }</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160;</div><div class="line"><a name="l00848"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d"> 848</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; {</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFArg;</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; }</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160;};</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;</div><div class="line"><a name="l00856"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html"> 856</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a></div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160;{</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00859"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac"> 859</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac">SVFConstantData</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = SVFConstData): <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>(_const, ty, k)</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; {</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; }</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3"> 864</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; {</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; }</div><div class="line"><a name="l00872"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d"> 872</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; {</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstData ||</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt ||</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP ||</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr ||</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; }</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160;};</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160;</div><div class="line"><a name="l00883"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html"> 883</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;{</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00886"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587"> 886</a></span>&#160; <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587">zval</a>;</div><div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671"> 887</a></span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671">sval</a>;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00889"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1"> 889</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1">SVFConstantInt</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> z, <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> s): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFConstInt), zval(z), sval(s)</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; {</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42"> 894</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; }</div><div class="line"><a name="l00898"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49"> 898</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; {</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstInt;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; }</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="comment">// Return the constant as a 64-bit unsigned integer value after it has been zero extended as appropriate for the type of this constant.</span></div><div class="line"><a name="l00903"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e"> 903</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e">getZExtValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keywordflow">return</span> zval;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; <span class="comment">// Return the constant as a 64-bit integer value after it has been sign extended as appropriate for the type of this constan</span></div><div class="line"><a name="l00908"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4"> 908</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">return</span> sval;</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; }</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160;};</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160;</div><div class="line"><a name="l00915"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html"> 915</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160;{</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00918"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9"> 918</a></span>&#160; <span class="keywordtype">float</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9">dval</a>;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f"> 920</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f">SVFConstantFP</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <span class="keywordtype">double</span> d): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFConstFP), dval(d)</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160;</div><div class="line"><a name="l00925"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc"> 925</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc">getFPValue</a> ()<span class="keyword"> const</span></div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; <span class="keywordflow">return</span> dval;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div><div class="line"><a name="l00929"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857"> 929</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; {</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; }</div><div class="line"><a name="l00933"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42"> 933</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; {</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFConstFP;</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; }</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160;};</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160;</div><div class="line"><a name="l00940"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html"> 940</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFConstantNullPtr.html">SVFConstantNullPtr</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160;{</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00944"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd"> 944</a></span>&#160; <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd">SVFConstantNullPtr</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFNullPtr)</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; {</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; }</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; <a class="code" href="classSVF_1_1SVFConstantNullPtr.html">SVFConstantNullPtr</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;</div><div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e"> 949</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; {</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr;</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; }</div><div class="line"><a name="l00953"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59"> 953</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; {</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFNullPtr;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; }</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;};</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160;</div><div class="line"><a name="l00959"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html"> 959</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFBlackHoleValue.html">SVFBlackHoleValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;{</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00963"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622"> 963</a></span>&#160; <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622">SVFBlackHoleValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; _const, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(_const, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFBlackHole)</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; {</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160; }</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>&#160; <a class="code" href="classSVF_1_1SVFBlackHoleValue.html">SVFBlackHoleValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>&#160;</div><div class="line"><a name="l00968"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5"> 968</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; {</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; }</div><div class="line"><a name="l00972"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2"> 972</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a> *node)</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; {</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFBlackHole;</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; }</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160;};</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160;</div><div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html"> 978</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a></div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160;{</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00981"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a"> 981</a></span>&#160; <a class="code" href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a">SVFOtherValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; other, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty, <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVFValKind</a> k = <a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0">SVFValue::SVFOther</a>): <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>(other, ty, k)</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160; {</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160; }</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160; <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;</div><div class="line"><a name="l00986"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8"> 986</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160; {</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFOther;</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160; }</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>&#160;};</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>&#160;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>&#160;<span class="comment"> * This class is only for LLVM&#39;s MetadataAsValue</span></div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00995"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html"> 995</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1SVFMetadataAsValue.html">SVFMetadataAsValue</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a></div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>&#160;{</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00998"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4"> 998</a></span>&#160; <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4">SVFMetadataAsValue</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; other, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty): <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>(other, ty, <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>::SVFMetaAsValue)</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>&#160; {</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160; }</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160; <a class="code" href="classSVF_1_1SVFMetadataAsValue.html">SVFMetadataAsValue</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;</div><div class="line"><a name="l01003"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2"> 1003</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *node)</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160; {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFMetaAsValue;</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; }</div><div class="line"><a name="l01007"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221"> 1007</a></span>&#160; <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221">classof</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a> *node)</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() == SVFMetaAsValue;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160; }</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;};</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;</div><div class="line"><a name="l01014"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html"> 1014</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CallSite.html">CallSite</a></div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;{</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l01017"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730"> 1017</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFCallInst.html">SVFCallInst</a> *<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l01019"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910"> 1019</a></span>&#160; <a class="code" href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910">CallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</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="classSVF_1_1SVFCallInst.html">SVFCallInst</a>&gt;(I))</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160; {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160; assert(CB &amp;&amp; <span class="stringliteral">&quot;not a callsite?&quot;</span>);</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; }</div><div class="line"><a name="l01023"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef"> 1023</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* <a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160; <span class="keywordflow">return</span> CB;</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160; }</div><div class="line"><a name="l01027"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc"> 1027</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ArgNo)<span class="keyword"> const</span></div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(ArgNo);</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160; }</div><div class="line"><a name="l01031"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f"> 1031</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">getType</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>();</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; }</div><div class="line"><a name="l01035"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8"> 1035</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8">arg_size</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>();</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160; }</div><div class="line"><a name="l01039"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ad084f7734007db7b14444b20bb980dd3"> 1039</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="l01040"></a><span class="lineno"> 1040</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">arg_empty</a>();</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160; }</div><div class="line"><a name="l01043"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5"> 1043</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5">getArgOperand</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i)<span class="keyword"> const</span></div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(i);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160; }</div><div class="line"><a name="l01047"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288"> 1047</a></span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288">getNumArgOperands</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>();</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; }</div><div class="line"><a name="l01051"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438"> 1051</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438">getCalledFunction</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">getCalledFunction</a>();</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160; }</div><div class="line"><a name="l01055"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2"> 1055</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2">getCalledValue</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">getCalledOperand</a>();</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160; }</div><div class="line"><a name="l01059"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0"> 1059</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0">getCaller</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">getCaller</a>();</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160; }</div><div class="line"><a name="l01063"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c"> 1063</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c">isVarArg</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; <span class="keywordflow">return</span> CB-&gt;<a class="code" href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">isVarArg</a>();</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; }</div><div class="line"><a name="l01067"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169"> 1067</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169">isVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160; <span class="keywordflow">return</span> SVFUtil::isa&lt;SVFVirtualCallInst&gt;(CB);</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; }</div><div class="line"><a name="l01071"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d"> 1071</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d">getVtablePtr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getVtablePtr();</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160; }</div><div class="line"><a name="l01076"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1"> 1076</a></span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1">getFunIdxInVtable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getFunIdxInVtable();</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; }</div><div class="line"><a name="l01081"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9"> 1081</a></span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; <a class="code" href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9">getFunNameOfVirtualCall</a>()<span class="keyword"> const</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160; assert(isVirtualCall() &amp;&amp; <span class="stringliteral">&quot;not a virtual call?&quot;</span>);</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160; <span class="keywordflow">return</span> SVFUtil::cast&lt;SVFVirtualCallInst&gt;(CB)-&gt;getFunNameOfVirtualCall();</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; }</div><div class="line"><a name="l01086"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#aa9b62205a5b63384042d9431a01f03ec"> 1086</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="l01087"></a><span class="lineno"> 1087</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160; <span class="keywordflow">return</span> CB == CS.<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; }</div><div class="line"><a name="l01090"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#a44d8147b8b6d54e05a7108858dbaa7c6"> 1090</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="l01091"></a><span class="lineno"> 1091</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; <span class="keywordflow">return</span> CB != CS.<a class="code" href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">CB</a>;</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; }</div><div class="line"><a name="l01094"></a><span class="lineno"><a class="line" href="classSVF_1_1CallSite.html#ab09ca7986f5b924b6c6b57e492f06c07"> 1094</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="l01095"></a><span class="lineno"> 1095</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; <span class="keywordflow">return</span> getInstruction() &lt; CS.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>();</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160; }</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;};</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</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="l01102"></a><span class="lineno"><a class="line" href="namespaceSVF.html#af83f5c5c68cdb80576cdc1d62c01b207"> 1102</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="l01103"></a><span class="lineno"> 1103</span>&#160;{</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</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="l01105"></a><span class="lineno"> 1105</span>&#160; <span class="keywordflow">return</span> o;</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;}</div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;</div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;} <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;</div><div class="line"><a name="l01111"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html"> 1111</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="l01112"></a><span class="lineno"> 1112</span>&#160;{</div><div class="line"><a name="l01113"></a><span class="lineno"><a class="line" href="structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html#a6ed3f621cd155faae27cbd844338409a"> 1113</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="l01114"></a><span class="lineno"> 1114</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160; std::hash&lt;const SVF::SVFInstruction *&gt; h;</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">getInstruction</a>());</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160; }</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;};</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BASICTYPES_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a4f6431ca72e0378bf2428de8a87ba648"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4f6431ca72e0378bf2428de8a87ba648">SVF::LLVMUtil::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(std::string name)</div><div class="ttdoc">Get the corresponding Function based on its name. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00368">LLVMUtil.h:368</a></div></div>
70
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00522">SVFValue.h:522</a></div></div>
71
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a496d0e963f0f6a4f9c08183fa91792b0"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">SVF::SVFCallInst::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00672">SVFValue.h:672</a></div></div>
72
+ <div class="ttc" id="classSVF_1_1SVFOtherValue_html"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html">SVF::SVFOtherValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00978">SVFValue.h:978</a></div></div>
73
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_aaa876cccdd46e7ef2e094ac4a2a29b04"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#aaa876cccdd46e7ef2e094ac4a2a29b04">SVF::SVFGlobalValue::SVFGlobalValue</a></div><div class="ttdeci">SVFGlobalValue(const std::string &amp;_gv, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00797">SVFValue.h:797</a></div></div>
74
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_acc18d048b6f6b07bf1786980bb2d74f8"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#acc18d048b6f6b07bf1786980bb2d74f8">SVF::SVFInstruction::getPredInstructions</a></div><div class="ttdeci">InstVec &amp; getPredInstructions()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00604">SVFValue.h:604</a></div></div>
75
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aaec097379a345ab0e80b6a9c50508f48"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVF::SVFFunction::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00262">SVFValue.h:262</a></div></div>
76
+ <div class="ttc" id="classSVF_1_1SVFConstant_html_a8981bda3ca80a7eb07285138d8218ffa"><div class="ttname"><a href="classSVF_1_1SVFConstant.html#a8981bda3ca80a7eb07285138d8218ffa">SVF::SVFConstant::SVFConstant</a></div><div class="ttdeci">SVFConstant(const std::string &amp;_const, const SVFType *ty, SVFValKind k=SVFConst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00766">SVFValue.h:766</a></div></div>
77
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aa61307a21647def105677d36bfbaf32f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aa61307a21647def105677d36bfbaf32f">SVF::SVFFunction::allBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; allBBs</div><div class="ttdoc">the definition of a function across multiple modules </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00277">SVFValue.h:277</a></div></div>
78
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
79
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a1cf90f3c56ae200bef2a9e6a67ff97bf"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a1cf90f3c56ae200bef2a9e6a67ff97bf">SVF::SVFFunction::loopContainsBB</a></div><div class="ttdeci">bool loopContainsBB(const BBList &amp;lp, const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00439">SVFValue.h:439</a></div></div>
80
80
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ad478ac88bc07cf4d6d0ad3517b2c4ab3"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad478ac88bc07cf4d6d0ad3517b2c4ab3">SVF::SVFLoopAndDomInfo::BBSet</a></div><div class="ttdeci">Set&lt; const SVFBasicBlock * &gt; BBSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00053">SVFValue.h:53</a></div></div>
81
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a9a7f1f56b6cfc33e7fa241286a07fd63"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63">SVF::SVFFunction::hasBasicBlock</a></div><div class="ttdeci">bool hasBasicBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00371">SVFValue.h:371</a></div></div>
82
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a978b4838cce84944c97c92e281859591"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591">SVF::SVFArgument::getArgNo</a></div><div class="ttdeci">u32_t getArgNo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00847">SVFValue.h:847</a></div></div>
83
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a3cbb4b4089c8b27d01da15f2d2f22e14"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">SVF::SVFCallInst::getArgOperand</a></div><div class="ttdeci">const SVFValue * getArgOperand(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00689">SVFValue.h:689</a></div></div>
84
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_ab8ea07e329ce09b1874d482465724121"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121">SVF::SVFCallInst::getNumArgOperands</a></div><div class="ttdeci">u32_t getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00694">SVFValue.h:694</a></div></div>
85
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ace4dc83c186f5ae888aa210439ae4c34"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34">SVF::SVFInstruction::predInsts</a></div><div class="ttdeci">InstVec predInsts</div><div class="ttdoc">successor Instructions </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00589">SVFValue.h:589</a></div></div>
86
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a4280d986cfa4ebd0a1c4b6c63bb13eb6"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6">SVF::SVFCallInst::varArg</a></div><div class="ttdeci">bool varArg</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00650">SVFValue.h:650</a></div></div>
87
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a6364671e823166d1192bf791a8dd412b"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b">SVF::SVFInstruction::getSuccInstructions</a></div><div class="ttdeci">const InstVec &amp; getSuccInstructions() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00618">SVFValue.h:618</a></div></div>
88
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a484bcb1494a2c0c946e85f39f7961671"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671">SVF::SVFConstantInt::sval</a></div><div class="ttdeci">s64_t sval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00896">SVFValue.h:896</a></div></div>
89
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a7a17b7f6f74fd54dd19323b46fa1dfe5"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5">SVF::SVFFunction::intricsic</a></div><div class="ttdeci">bool intricsic</div><div class="ttdoc">return true if this function does not have a body </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00278">SVFValue.h:278</a></div></div>
90
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a8cb9cc170c9693b9bfe9a0f7a65a618e"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">SVF::SVFBasicBlock::getInstructionList</a></div><div class="ttdeci">const std::vector&lt; const SVFInstruction * &gt; &amp; getInstructionList() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00521">SVFValue.h:521</a></div></div>
91
- <div class="ttc" id="classSVF_1_1SVFOtherValue_html_ae47ccf0d62b35189416c6927136949b8"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8">SVF::SVFOtherValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00995">SVFValue.h:995</a></div></div>
92
- <div class="ttc" id="classSVF_1_1SVFConstant_html_ad344f015332cfd79eb61fe734f197c51"><div class="ttname"><a href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51">SVF::SVFConstant::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00780">SVFValue.h:780</a></div></div>
93
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ad0e8b1042094fda42346bae211d3e679"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679">SVF::SVFInstruction::succInsts</a></div><div class="ttdeci">InstVec succInsts</div><div class="ttdoc">return true if this is an return instruction of a function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00588">SVFValue.h:588</a></div></div>
94
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00892">SVFValue.h:892</a></div></div>
95
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a758fa3cd9354ec069f0fe569251da7cd"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd">SVF::SVFArgument::uncalled</a></div><div class="ttdeci">bool uncalled</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00833">SVFValue.h:833</a></div></div>
96
- <div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00215">SVFValue.h:215</a></div></div>
97
- <div class="ttc" id="classSVF_1_1SVFValue_html_a11f2d9b6e969ede6fca2c204cc15b821"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">SVF::SVFValue::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00220">SVFValue.h:220</a></div></div>
98
- <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html">SVF::SVFMetadataAsValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01004">SVFValue.h:1004</a></div></div>
99
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aaddef080cdc8e4080fc2da1e3cf92deb"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaddef080cdc8e4080fc2da1e3cf92deb">SVF::SVFFunction::setIsNotRet</a></div><div class="ttdeci">void setIsNotRet(bool notRet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00307">SVFValue.h:307</a></div></div>
100
- <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="SVFValue_8h_source.html#l00277">SVFValue.h:277</a></div></div>
101
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a818f626cb8b8063b5f3c8928428095b8"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8">SVF::SVFFunction::isUncalledFunction</a></div><div class="ttdeci">bool isUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00418">SVFValue.h:418</a></div></div>
81
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a9a7f1f56b6cfc33e7fa241286a07fd63"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a9a7f1f56b6cfc33e7fa241286a07fd63">SVF::SVFFunction::hasBasicBlock</a></div><div class="ttdeci">bool hasBasicBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00362">SVFValue.h:362</a></div></div>
82
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a978b4838cce84944c97c92e281859591"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a978b4838cce84944c97c92e281859591">SVF::SVFArgument::getArgNo</a></div><div class="ttdeci">u32_t getArgNo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00838">SVFValue.h:838</a></div></div>
83
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a3cbb4b4089c8b27d01da15f2d2f22e14"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">SVF::SVFCallInst::getArgOperand</a></div><div class="ttdeci">const SVFValue * getArgOperand(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00680">SVFValue.h:680</a></div></div>
84
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_ab8ea07e329ce09b1874d482465724121"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ab8ea07e329ce09b1874d482465724121">SVF::SVFCallInst::getNumArgOperands</a></div><div class="ttdeci">u32_t getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00685">SVFValue.h:685</a></div></div>
85
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ace4dc83c186f5ae888aa210439ae4c34"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ace4dc83c186f5ae888aa210439ae4c34">SVF::SVFInstruction::predInsts</a></div><div class="ttdeci">InstVec predInsts</div><div class="ttdoc">successor Instructions </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00580">SVFValue.h:580</a></div></div>
86
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a4280d986cfa4ebd0a1c4b6c63bb13eb6"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a4280d986cfa4ebd0a1c4b6c63bb13eb6">SVF::SVFCallInst::varArg</a></div><div class="ttdeci">bool varArg</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00641">SVFValue.h:641</a></div></div>
87
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a6364671e823166d1192bf791a8dd412b"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a6364671e823166d1192bf791a8dd412b">SVF::SVFInstruction::getSuccInstructions</a></div><div class="ttdeci">const InstVec &amp; getSuccInstructions() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00609">SVFValue.h:609</a></div></div>
88
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a484bcb1494a2c0c946e85f39f7961671"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a484bcb1494a2c0c946e85f39f7961671">SVF::SVFConstantInt::sval</a></div><div class="ttdeci">s64_t sval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00887">SVFValue.h:887</a></div></div>
89
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a7a17b7f6f74fd54dd19323b46fa1dfe5"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7a17b7f6f74fd54dd19323b46fa1dfe5">SVF::SVFFunction::intricsic</a></div><div class="ttdeci">bool intricsic</div><div class="ttdoc">return true if this function does not have a body </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00269">SVFValue.h:269</a></div></div>
90
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a8cb9cc170c9693b9bfe9a0f7a65a618e"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">SVF::SVFBasicBlock::getInstructionList</a></div><div class="ttdeci">const std::vector&lt; const SVFInstruction * &gt; &amp; getInstructionList() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00512">SVFValue.h:512</a></div></div>
91
+ <div class="ttc" id="classSVF_1_1SVFOtherValue_html_ae47ccf0d62b35189416c6927136949b8"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html#ae47ccf0d62b35189416c6927136949b8">SVF::SVFOtherValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00986">SVFValue.h:986</a></div></div>
92
+ <div class="ttc" id="classSVF_1_1SVFConstant_html_ad344f015332cfd79eb61fe734f197c51"><div class="ttname"><a href="classSVF_1_1SVFConstant.html#ad344f015332cfd79eb61fe734f197c51">SVF::SVFConstant::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00771">SVFValue.h:771</a></div></div>
93
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ad0e8b1042094fda42346bae211d3e679"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ad0e8b1042094fda42346bae211d3e679">SVF::SVFInstruction::succInsts</a></div><div class="ttdeci">InstVec succInsts</div><div class="ttdoc">return true if this is an return instruction of a function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00579">SVFValue.h:579</a></div></div>
94
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00883">SVFValue.h:883</a></div></div>
95
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a758fa3cd9354ec069f0fe569251da7cd"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a758fa3cd9354ec069f0fe569251da7cd">SVF::SVFArgument::uncalled</a></div><div class="ttdeci">bool uncalled</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00824">SVFValue.h:824</a></div></div>
96
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00210">SVFValue.h:210</a></div></div>
97
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a11f2d9b6e969ede6fca2c204cc15b821"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">SVF::SVFValue::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00215">SVFValue.h:215</a></div></div>
98
+ <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html">SVF::SVFMetadataAsValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00995">SVFValue.h:995</a></div></div>
99
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aaddef080cdc8e4080fc2da1e3cf92deb"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaddef080cdc8e4080fc2da1e3cf92deb">SVF::SVFFunction::setIsNotRet</a></div><div class="ttdeci">void setIsNotRet(bool notRet)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00298">SVFValue.h:298</a></div></div>
100
+ <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="SVFValue_8h_source.html#l00268">SVFValue.h:268</a></div></div>
101
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a818f626cb8b8063b5f3c8928428095b8"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a818f626cb8b8063b5f3c8928428095b8">SVF::SVFFunction::isUncalledFunction</a></div><div class="ttdeci">bool isUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00409">SVFValue.h:409</a></div></div>
102
102
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eaf3025e3b2f13ffb20a5bb441ea5f8a73">SVF::SVFValue::SVFMetaAsValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00170">SVFValue.h:170</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea51746c2f6b368f5d9a7ec4625cb6559e">SVF::SVFValue::SVFVal</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00156">SVFValue.h:156</a></div></div>
104
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00603">SVFValue.h:603</a></div></div>
105
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a837e67c823d5323c5462e78f5bbe6e64"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64">SVF::SVFFunction::LoopBBs</a></div><div class="ttdeci">SVFLoopAndDomInfo::LoopBBs LoopBBs</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00274">SVFValue.h:274</a></div></div>
106
- <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="ttdoc">return true if this function is never called </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00281">SVFValue.h:281</a></div></div>
107
- <div class="ttc" id="classSVF_1_1SVFOtherValue_html_a7e8f5d6d9389e3dc14e2ea606d5b0e1a"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a">SVF::SVFOtherValue::SVFOtherValue</a></div><div class="ttdeci">SVFOtherValue(const std::string &amp;other, const SVFType *ty, SVFValKind k=SVFValue::SVFOther)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00990">SVFValue.h:990</a></div></div>
104
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ae009f41cbf48d949d4325e08fe8d7198"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ae009f41cbf48d949d4325e08fe8d7198">SVF::SVFInstruction::getParent</a></div><div class="ttdeci">const SVFBasicBlock * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00594">SVFValue.h:594</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a837e67c823d5323c5462e78f5bbe6e64"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a837e67c823d5323c5462e78f5bbe6e64">SVF::SVFFunction::LoopBBs</a></div><div class="ttdeci">SVFLoopAndDomInfo::LoopBBs LoopBBs</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00265">SVFValue.h:265</a></div></div>
106
+ <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="ttdoc">return true if this function is never called </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00272">SVFValue.h:272</a></div></div>
107
+ <div class="ttc" id="classSVF_1_1SVFOtherValue_html_a7e8f5d6d9389e3dc14e2ea606d5b0e1a"><div class="ttname"><a href="classSVF_1_1SVFOtherValue.html#a7e8f5d6d9389e3dc14e2ea606d5b0e1a">SVF::SVFOtherValue::SVFOtherValue</a></div><div class="ttdeci">SVFOtherValue(const std::string &amp;other, const SVFType *ty, SVFValKind k=SVFValue::SVFOther)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00981">SVFValue.h:981</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a95099f1b621c4f0d6d53798d7eab4e3b"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a95099f1b621c4f0d6d53798d7eab4e3b">SVF::SVFLoopAndDomInfo::getReachableBBs</a></div><div class="ttdeci">const BBList &amp; getReachableBBs() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00128">SVFValue.h:128</a></div></div>
109
109
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a1bf34bdba1c34c7298b8f914a552f7d8"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a1bf34bdba1c34c7298b8f914a552f7d8">SVF::SVFLoopAndDomInfo::getDomTreeMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00118">SVFValue.h:118</a></div></div>
110
110
  <div class="ttc" id="GraphPrinter_8h_html"><div class="ttname"><a href="GraphPrinter_8h.html">GraphPrinter.h</a></div></div>
111
111
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ad07f95e790b5c3a50c864155aa20a083"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083">SVF::SVFLoopAndDomInfo::getPostDomTreeMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getPostDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00103">SVFValue.h:103</a></div></div>
112
- <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="SVFValue_8h_source.html#l00333">SVFValue.h:333</a></div></div>
113
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ab092c00376cf697bc4a3b7baa9f3a2f3"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3">SVF::SVFInstruction::terminator</a></div><div class="ttdeci">bool terminator</div><div class="ttdoc">The BasicBlock where this Instruction resides. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00586">SVFValue.h:586</a></div></div>
114
- <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="SVFValue_8h_source.html#l01048">SVFValue.h:1048</a></div></div>
115
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ad1c1ca2a7d4a681f24712345222e9ddc"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">SVF::SVFFunction::funcType</a></div><div class="ttdeci">const SVFFunctionType * funcType</div><div class="ttdoc">return true if this function supports variable arguments </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00283">SVFValue.h:283</a></div></div>
116
- <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="SVFValue_8h_source.html#l00266">SVFValue.h:266</a></div></div>
117
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aec6be531ef52c960ef1e908fd031e32c"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c">SVF::SVFBasicBlock::predBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; predBBs</div><div class="ttdoc">all predecessor BasicBlocks of this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00490">SVFValue.h:490</a></div></div>
118
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a7bcd6dd2c135b3da30dcca7942d3ddb5"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5">SVF::SVFCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFInstruction *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00677">SVFValue.h:677</a></div></div>
119
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a37f89063b55ff657a07e186224338ce8"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8">SVF::SVFFunction::setIsUncalledFunction</a></div><div class="ttdeci">void setIsUncalledFunction(bool uncalledFunction)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00302">SVFValue.h:302</a></div></div>
112
+ <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="SVFValue_8h_source.html#l00324">SVFValue.h:324</a></div></div>
113
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ab092c00376cf697bc4a3b7baa9f3a2f3"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ab092c00376cf697bc4a3b7baa9f3a2f3">SVF::SVFInstruction::terminator</a></div><div class="ttdeci">bool terminator</div><div class="ttdoc">The BasicBlock where this Instruction resides. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00577">SVFValue.h:577</a></div></div>
114
+ <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="SVFValue_8h_source.html#l01039">SVFValue.h:1039</a></div></div>
115
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ad1c1ca2a7d4a681f24712345222e9ddc"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad1c1ca2a7d4a681f24712345222e9ddc">SVF::SVFFunction::funcType</a></div><div class="ttdeci">const SVFFunctionType * funcType</div><div class="ttdoc">return true if this function supports variable arguments </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00274">SVFValue.h:274</a></div></div>
116
+ <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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
117
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aec6be531ef52c960ef1e908fd031e32c"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aec6be531ef52c960ef1e908fd031e32c">SVF::SVFBasicBlock::predBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; predBBs</div><div class="ttdoc">all predecessor BasicBlocks of this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00481">SVFValue.h:481</a></div></div>
118
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a7bcd6dd2c135b3da30dcca7942d3ddb5"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a7bcd6dd2c135b3da30dcca7942d3ddb5">SVF::SVFCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFInstruction *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00668">SVFValue.h:668</a></div></div>
119
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a37f89063b55ff657a07e186224338ce8"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a37f89063b55ff657a07e186224338ce8">SVF::SVFFunction::setIsUncalledFunction</a></div><div class="ttdeci">void setIsUncalledFunction(bool uncalledFunction)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00293">SVFValue.h:293</a></div></div>
120
120
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_aac4d533d1c7abfefbd54507357e240f4"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#aac4d533d1c7abfefbd54507357e240f4">SVF::SVFLoopAndDomInfo::isUnreachable</a></div><div class="ttdeci">bool isUnreachable(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00123">SVFValue.h:123</a></div></div>
121
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a441f6d479c562ab00b9d287d8ecdb0fd"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd">SVF::SVFCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00673">SVFValue.h:673</a></div></div>
122
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aeaa9b2b4e802d9e6bed138eaf3186d09"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">SVF::SVFBasicBlock::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00541">SVFValue.h:541</a></div></div>
123
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_afd5d7569b52d4f26850b009a915b7e49"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49">SVF::SVFConstantInt::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00907">SVFValue.h:907</a></div></div>
124
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a7c3a69644f5e1351aad5d0ce0048abfd"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">SVF::SVFBasicBlock::succBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; succBBs</div><div class="ttdoc">all successor BasicBlocks of this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00489">SVFValue.h:489</a></div></div>
121
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a441f6d479c562ab00b9d287d8ecdb0fd"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a441f6d479c562ab00b9d287d8ecdb0fd">SVF::SVFCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00664">SVFValue.h:664</a></div></div>
122
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aeaa9b2b4e802d9e6bed138eaf3186d09"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">SVF::SVFBasicBlock::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00532">SVFValue.h:532</a></div></div>
123
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_afd5d7569b52d4f26850b009a915b7e49"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#afd5d7569b52d4f26850b009a915b7e49">SVF::SVFConstantInt::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00898">SVFValue.h:898</a></div></div>
124
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a7c3a69644f5e1351aad5d0ce0048abfd"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a7c3a69644f5e1351aad5d0ce0048abfd">SVF::SVFBasicBlock::succBBs</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; succBBs</div><div class="ttdoc">all successor BasicBlocks of this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00480">SVFValue.h:480</a></div></div>
125
125
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a342f2825d6b7e3289d0f0f4b7ee8247c"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a342f2825d6b7e3289d0f0f4b7ee8247c">SVF::SVFLoopAndDomInfo::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00053">SVFValue.cpp:53</a></div></div>
126
126
  <div class="ttc" id="classSVF_1_1SVFFunctionType_html"><div class="ttname"><a href="classSVF_1_1SVFFunctionType.html">SVF::SVFFunctionType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00347">SVFType.h:347</a></div></div>
127
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ad09ea0c680c88732c08d655e0afbead3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3">SVF::SVFFunction::BBList</a></div><div class="ttdeci">SVFLoopAndDomInfo::BBList BBList</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00273">SVFValue.h:273</a></div></div>
127
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ad09ea0c680c88732c08d655e0afbead3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad09ea0c680c88732c08d655e0afbead3">SVF::SVFFunction::BBList</a></div><div class="ttdeci">SVFLoopAndDomInfo::BBList BBList</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00264">SVFValue.h:264</a></div></div>
128
128
  <div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
129
129
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea4d2525e8d4329c644940b0b44c3f0c2c">SVF::SVFValue::SVFNullPtr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00168">SVFValue.h:168</a></div></div>
130
- <div class="ttc" id="classSVF_1_1SVFFunction_html_af264312f0020bde9151697bccfde3263"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263">SVF::SVFFunction::getReturnType</a></div><div class="ttdeci">const SVFType * getReturnType() const</div><div class="ttdoc">Returns the FunctionType. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00355">SVFValue.h:355</a></div></div>
130
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_af264312f0020bde9151697bccfde3263"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af264312f0020bde9151697bccfde3263">SVF::SVFFunction::getReturnType</a></div><div class="ttdeci">const SVFType * getReturnType() const</div><div class="ttdoc">Returns the FunctionType. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00346">SVFValue.h:346</a></div></div>
131
131
  <div class="ttc" id="cJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
132
- <div class="ttc" id="classSVF_1_1SVFValue_html_afe1de41ca3215b325d0ca61814c6bd6b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b">SVF::SVFValue::setConstDataOrAggData</a></div><div class="ttdeci">void setConstDataOrAggData()</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00192">SVFValue.h:192</a></div></div>
132
+ <div class="ttc" id="classSVF_1_1SVFValue_html_afe1de41ca3215b325d0ca61814c6bd6b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afe1de41ca3215b325d0ca61814c6bd6b">SVF::SVFValue::setConstDataOrAggData</a></div><div class="ttdeci">void setConstDataOrAggData()</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00191">SVFValue.h:191</a></div></div>
133
133
  <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>
134
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a5a8b570bf9301e0269a6622f33320d4b"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b">SVF::SVFGlobalValue::classof</a></div><div class="ttdeci">static bool classof(const SVFConstant *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00822">SVFValue.h:822</a></div></div>
135
- <div class="ttc" id="classSVF_1_1CallSite_html_abe38a348db833b797f32ecc05f67100c"><div class="ttname"><a href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c">SVF::CallSite::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01072">SVFValue.h:1072</a></div></div>
136
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aebc0d1aa674dec207a99c7fc148c9c36"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">SVF::SVFBasicBlock::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00569">SVFValue.h:569</a></div></div>
134
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a5a8b570bf9301e0269a6622f33320d4b"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a5a8b570bf9301e0269a6622f33320d4b">SVF::SVFGlobalValue::classof</a></div><div class="ttdeci">static bool classof(const SVFConstant *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00813">SVFValue.h:813</a></div></div>
135
+ <div class="ttc" id="classSVF_1_1CallSite_html_abe38a348db833b797f32ecc05f67100c"><div class="ttname"><a href="classSVF_1_1CallSite.html#abe38a348db833b797f32ecc05f67100c">SVF::CallSite::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01063">SVFValue.h:1063</a></div></div>
136
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_aebc0d1aa674dec207a99c7fc148c9c36"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#aebc0d1aa674dec207a99c7fc148c9c36">SVF::SVFBasicBlock::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00560">SVFValue.h:560</a></div></div>
137
137
  <div class="ttc" id="SVFType_8h_html"><div class="ttname"><a href="SVFType_8h.html">SVFType.h</a></div></div>
138
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html_aa1d551ad74dd5ce3eb4b7d639aec31a9"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9">SVF::SVFConstantFP::dval</a></div><div class="ttdeci">float dval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00927">SVFValue.h:927</a></div></div>
139
- <div class="ttc" id="classSVF_1_1SVFConstant_html"><div class="ttname"><a href="classSVF_1_1SVFConstant.html">SVF::SVFConstant</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00772">SVFValue.h:772</a></div></div>
140
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a6dd304f555d2d2388c4430e57b0d2b91"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91">SVF::SVFCallInst::setCalledOperand</a></div><div class="ttdeci">void setCalledOperand(const SVFValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00659">SVFValue.h:659</a></div></div>
138
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html_aa1d551ad74dd5ce3eb4b7d639aec31a9"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#aa1d551ad74dd5ce3eb4b7d639aec31a9">SVF::SVFConstantFP::dval</a></div><div class="ttdeci">float dval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00918">SVFValue.h:918</a></div></div>
139
+ <div class="ttc" id="classSVF_1_1SVFConstant_html"><div class="ttname"><a href="classSVF_1_1SVFConstant.html">SVF::SVFConstant</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00763">SVFValue.h:763</a></div></div>
140
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a6dd304f555d2d2388c4430e57b0d2b91"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a6dd304f555d2d2388c4430e57b0d2b91">SVF::SVFCallInst::setCalledOperand</a></div><div class="ttdeci">void setCalledOperand(const SVFValue *v)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00650">SVFValue.h:650</a></div></div>
141
141
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ae5e2b154313b4330bb015050aec72a1f"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ae5e2b154313b4330bb015050aec72a1f">SVF::SVFLoopAndDomInfo::LoopBBs</a></div><div class="ttdeci">BBList LoopBBs</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00055">SVFValue.h:55</a></div></div>
142
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_adf494cdb9fc8a4e0241f81c4fc3133c1"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1">SVF::SVFConstantInt::SVFConstantInt</a></div><div class="ttdeci">SVFConstantInt(const std::string &amp;_const, const SVFType *ty, u64_t z, s64_t s)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00898">SVFValue.h:898</a></div></div>
143
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a947d6ca3695477fb5b36b46fa4899fb7"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7">SVF::SVFVirtualCallInst::setFunIdxInVtable</a></div><div class="ttdeci">void setFunIdxInVtable(s32_t idx)</div><div class="ttdoc">the function name of this virtual call </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00726">SVFValue.h:726</a></div></div>
142
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_adf494cdb9fc8a4e0241f81c4fc3133c1"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#adf494cdb9fc8a4e0241f81c4fc3133c1">SVF::SVFConstantInt::SVFConstantInt</a></div><div class="ttdeci">SVFConstantInt(const std::string &amp;_const, const SVFType *ty, u64_t z, s64_t s)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00889">SVFValue.h:889</a></div></div>
143
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a947d6ca3695477fb5b36b46fa4899fb7"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a947d6ca3695477fb5b36b46fa4899fb7">SVF::SVFVirtualCallInst::setFunIdxInVtable</a></div><div class="ttdeci">void setFunIdxInVtable(s32_t idx)</div><div class="ttdoc">the function name of this virtual call </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00717">SVFValue.h:717</a></div></div>
144
144
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_aed2f125f7b8c21092b23d9727568ba50"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#aed2f125f7b8c21092b23d9727568ba50">SVF::SVFLoopAndDomInfo::addToBB2LoopMap</a></div><div class="ttdeci">void addToBB2LoopMap(const SVFBasicBlock *bb, const SVFBasicBlock *loopBB)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00098">SVFValue.h:98</a></div></div>
145
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a731b978178937e74c80d2882c429dc9e"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e">SVF::SVFFunction::hasAddressTaken</a></div><div class="ttdeci">bool hasAddressTaken() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00343">SVFValue.h:343</a></div></div>
146
- <div class="ttc" id="classSVF_1_1CallSite_html_a6b7a7e6da24425a3b15aa1803c673288"><div class="ttname"><a href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288">SVF::CallSite::getNumArgOperands</a></div><div class="ttdeci">u32_t getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01056">SVFValue.h:1056</a></div></div>
145
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a731b978178937e74c80d2882c429dc9e"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a731b978178937e74c80d2882c429dc9e">SVF::SVFFunction::hasAddressTaken</a></div><div class="ttdeci">bool hasAddressTaken() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00334">SVFValue.h:334</a></div></div>
146
+ <div class="ttc" id="classSVF_1_1CallSite_html_a6b7a7e6da24425a3b15aa1803c673288"><div class="ttname"><a href="classSVF_1_1CallSite.html#a6b7a7e6da24425a3b15aa1803c673288">SVF::CallSite::getNumArgOperands</a></div><div class="ttdeci">u32_t getNumArgOperands() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01047">SVFValue.h:1047</a></div></div>
147
147
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eabd75e113e24174dece49fed343d362fa">SVF::SVFValue::SVFBlackHole</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00169">SVFValue.h:169</a></div></div>
148
- <div class="ttc" id="classSVF_1_1CallSite_html_a2a1904e6f381a0f8ac30265f2dfc48c8"><div class="ttname"><a href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8">SVF::CallSite::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01044">SVFValue.h:1044</a></div></div>
149
- <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_aa45bdedb7320ea07a902e474d92562c5"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5">SVF::SVFBlackHoleValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00977">SVFValue.h:977</a></div></div>
150
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a625bef2b92c8e62df547bd2758b59c75"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">SVF::SVFFunction::allArgs</a></div><div class="ttdeci">std::vector&lt; const SVFArgument * &gt; allArgs</div><div class="ttdoc">all BasicBlocks of this function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00287">SVFValue.h:287</a></div></div>
151
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a281d6b024afeeb96bac281eb23ce3f1f"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f">SVF::SVFInstruction::getSuccInstructions</a></div><div class="ttdeci">InstVec &amp; getSuccInstructions()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00608">SVFValue.h:608</a></div></div>
152
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_ab664ca5c88bb39d4a71d30afa326097e"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e">SVF::SVFVirtualCallInst::getFunIdxInVtable</a></div><div class="ttdeci">s32_t getFunIdxInVtable() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00749">SVFValue.h:749</a></div></div>
153
- <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="SVFValue_8h_source.html#l01122">SVFValue.h:1122</a></div></div>
154
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_afbf703f88da59d2b30c14c7d40e5e22d"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d">SVF::SVFInstruction::isTerminator</a></div><div class="ttdeci">bool isTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00633">SVFValue.h:633</a></div></div>
155
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a61505b528343c7d728eba3a705930a16"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a61505b528343c7d728eba3a705930a16">SVF::SVFFunction::getExitBlocksOfLoop</a></div><div class="ttdeci">void getExitBlocksOfLoop(const SVFBasicBlock *bb, BBList &amp;exitbbs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00428">SVFValue.h:428</a></div></div>
156
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html">SVF::SVFVirtualCallInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00716">SVFValue.h:716</a></div></div>
148
+ <div class="ttc" id="classSVF_1_1CallSite_html_a2a1904e6f381a0f8ac30265f2dfc48c8"><div class="ttname"><a href="classSVF_1_1CallSite.html#a2a1904e6f381a0f8ac30265f2dfc48c8">SVF::CallSite::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01035">SVFValue.h:1035</a></div></div>
149
+ <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_aa45bdedb7320ea07a902e474d92562c5"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#aa45bdedb7320ea07a902e474d92562c5">SVF::SVFBlackHoleValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00968">SVFValue.h:968</a></div></div>
150
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a625bef2b92c8e62df547bd2758b59c75"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a625bef2b92c8e62df547bd2758b59c75">SVF::SVFFunction::allArgs</a></div><div class="ttdeci">std::vector&lt; const SVFArgument * &gt; allArgs</div><div class="ttdoc">all BasicBlocks of this function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00278">SVFValue.h:278</a></div></div>
151
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a281d6b024afeeb96bac281eb23ce3f1f"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a281d6b024afeeb96bac281eb23ce3f1f">SVF::SVFInstruction::getSuccInstructions</a></div><div class="ttdeci">InstVec &amp; getSuccInstructions()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00599">SVFValue.h:599</a></div></div>
152
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_ab664ca5c88bb39d4a71d30afa326097e"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#ab664ca5c88bb39d4a71d30afa326097e">SVF::SVFVirtualCallInst::getFunIdxInVtable</a></div><div class="ttdeci">s32_t getFunIdxInVtable() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00740">SVFValue.h:740</a></div></div>
153
+ <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="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
154
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_afbf703f88da59d2b30c14c7d40e5e22d"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#afbf703f88da59d2b30c14c7d40e5e22d">SVF::SVFInstruction::isTerminator</a></div><div class="ttdeci">bool isTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00624">SVFValue.h:624</a></div></div>
155
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a61505b528343c7d728eba3a705930a16"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a61505b528343c7d728eba3a705930a16">SVF::SVFFunction::getExitBlocksOfLoop</a></div><div class="ttdeci">void getExitBlocksOfLoop(const SVFBasicBlock *bb, BBList &amp;exitbbs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00419">SVFValue.h:419</a></div></div>
156
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html">SVF::SVFVirtualCallInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00707">SVFValue.h:707</a></div></div>
157
157
  <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="SVFType_8h_source.html#l00099">SVFType.h:99</a></div></div>
158
158
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea6dc72702914085c82deb38699b5a6f66">SVF::SVFValue::SVFConst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00164">SVFValue.h:164</a></div></div>
159
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_adf936a7ee01d9c4662e31a5022ae94c0"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0">SVF::SVFVirtualCallInst::setFunNameOfVirtualCall</a></div><div class="ttdeci">void setFunNameOfVirtualCall(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00730">SVFValue.h:730</a></div></div>
160
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a7660f2d57d671c4826186e85eaff055d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d">SVF::SVFFunction::getFunctionType</a></div><div class="ttdeci">const SVFFunctionType * getFunctionType() const</div><div class="ttdoc">Returns the FunctionType. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00349">SVFValue.h:349</a></div></div>
159
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_adf936a7ee01d9c4662e31a5022ae94c0"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#adf936a7ee01d9c4662e31a5022ae94c0">SVF::SVFVirtualCallInst::setFunNameOfVirtualCall</a></div><div class="ttdeci">void setFunNameOfVirtualCall(const std::string &amp;name)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00721">SVFValue.h:721</a></div></div>
160
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a7660f2d57d671c4826186e85eaff055d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a7660f2d57d671c4826186e85eaff055d">SVF::SVFFunction::getFunctionType</a></div><div class="ttdeci">const SVFFunctionType * getFunctionType() const</div><div class="ttdoc">Returns the FunctionType. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00340">SVFValue.h:340</a></div></div>
161
161
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea46330181ad60cd2f0766fb392063ee21">SVF::SVFValue::SVFArg</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00163">SVFValue.h:163</a></div></div>
162
- <div class="ttc" id="classSVF_1_1SVFConstantData_html"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html">SVF::SVFConstantData</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00865">SVFValue.h:865</a></div></div>
163
- <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="ttdoc">return true if this function is address-taken (for indirect call purposes) </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
164
- <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#l00044">GraphPrinter.h:44</a></div></div>
162
+ <div class="ttc" id="classSVF_1_1SVFConstantData_html"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html">SVF::SVFConstantData</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00856">SVFValue.h:856</a></div></div>
163
+ <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="ttdoc">return true if this function is address-taken (for indirect call purposes) </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00271">SVFValue.h:271</a></div></div>
165
164
  <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="SVFType_8h_source.html#l00050">SVFType.h:50</a></div></div>
166
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3a482ac970b808b932f9f50f0e0703e5"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5">SVF::SVFFunction::front</a></div><div class="ttdeci">const SVFBasicBlock * front() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00388">SVFValue.h:388</a></div></div>
167
- <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_ab1b6b67fc90132d8ddbac873ced2f76e"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e">SVF::SVFConstantNullPtr::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00958">SVFValue.h:958</a></div></div>
168
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a3c6f43786b2cb230a02e50c6ab38453e"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e">SVF::SVFArgument::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00852">SVFValue.h:852</a></div></div>
169
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a03db4ff0d8140ebc0219caea902e7078"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078">SVF::SVFFunction::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00468">SVFValue.h:468</a></div></div>
170
- <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_adf70aaadd34d109de98389896d2ac4f2"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2">SVF::SVFMetadataAsValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01012">SVFValue.h:1012</a></div></div>
165
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3a482ac970b808b932f9f50f0e0703e5"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3a482ac970b808b932f9f50f0e0703e5">SVF::SVFFunction::front</a></div><div class="ttdeci">const SVFBasicBlock * front() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00379">SVFValue.h:379</a></div></div>
166
+ <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_ab1b6b67fc90132d8ddbac873ced2f76e"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#ab1b6b67fc90132d8ddbac873ced2f76e">SVF::SVFConstantNullPtr::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00949">SVFValue.h:949</a></div></div>
167
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a3c6f43786b2cb230a02e50c6ab38453e"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a3c6f43786b2cb230a02e50c6ab38453e">SVF::SVFArgument::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00843">SVFValue.h:843</a></div></div>
168
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a03db4ff0d8140ebc0219caea902e7078"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a03db4ff0d8140ebc0219caea902e7078">SVF::SVFFunction::dominate</a></div><div class="ttdeci">bool dominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00459">SVFValue.h:459</a></div></div>
169
+ <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_adf70aaadd34d109de98389896d2ac4f2"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#adf70aaadd34d109de98389896d2ac4f2">SVF::SVFMetadataAsValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01003">SVFValue.h:1003</a></div></div>
171
170
  <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="SVFValue_8h_source.html#l00147">SVFValue.h:147</a></div></div>
172
- <div class="ttc" id="classSVF_1_1SVFFunction_html_af45eeeae0d73ec53f4fa44e5e1222942"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942">SVF::SVFFunction::getLoopInfo</a></div><div class="ttdeci">const LoopBBs &amp; getLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00438">SVFValue.h:438</a></div></div>
171
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_af45eeeae0d73ec53f4fa44e5e1222942"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af45eeeae0d73ec53f4fa44e5e1222942">SVF::SVFFunction::getLoopInfo</a></div><div class="ttdeci">const LoopBBs &amp; getLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00429">SVFValue.h:429</a></div></div>
173
172
  <div class="ttc" id="classSVF_1_1LLVMModuleSet_html"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html">SVF::LLVMModuleSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00043">LLVMModule.h:43</a></div></div>
174
- <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="SVFValue_8h_source.html#l01103">SVFValue.h:1103</a></div></div>
175
- <div class="ttc" id="classSVF_1_1CallSite_html_a93c083aa8f3f3ef28fe80e9aaf70dfb5"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5">SVF::CallSite::getArgOperand</a></div><div class="ttdeci">const SVFValue * getArgOperand(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01052">SVFValue.h:1052</a></div></div>
176
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a1f50ddbbe2e2489b2586fcef07cb57f5"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5">SVF::SVFCallInst::SVFCallInst</a></div><div class="ttdeci">SVFCallInst(const std::string &amp;i, const SVFType *ty, const SVFBasicBlock *b, bool va, bool tm, SVFValKind k=SVFCall)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00666">SVFValue.h:666</a></div></div>
177
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a65d9c963b658fbcc67bdf949d5644e65"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00458">SVFValue.h:458</a></div></div>
178
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a793f485e92d12cf407f2ffa41861eb3d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">SVF::SVFFunction::getEntryBlock</a></div><div class="ttdeci">const SVFBasicBlock * getEntryBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00376">SVFValue.h:376</a></div></div>
179
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aee05370109d7667c40ca34c454c66714"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714">SVF::SVFFunction::hasLoopInfo</a></div><div class="ttdeci">bool hasLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00433">SVFValue.h:433</a></div></div>
173
+ <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="SVFValue_8h_source.html#l01094">SVFValue.h:1094</a></div></div>
174
+ <div class="ttc" id="classSVF_1_1CallSite_html_a93c083aa8f3f3ef28fe80e9aaf70dfb5"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93c083aa8f3f3ef28fe80e9aaf70dfb5">SVF::CallSite::getArgOperand</a></div><div class="ttdeci">const SVFValue * getArgOperand(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01043">SVFValue.h:1043</a></div></div>
175
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a1f50ddbbe2e2489b2586fcef07cb57f5"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a1f50ddbbe2e2489b2586fcef07cb57f5">SVF::SVFCallInst::SVFCallInst</a></div><div class="ttdeci">SVFCallInst(const std::string &amp;i, const SVFType *ty, const SVFBasicBlock *b, bool va, bool tm, SVFValKind k=SVFCall)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00657">SVFValue.h:657</a></div></div>
176
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a65d9c963b658fbcc67bdf949d5644e65"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a65d9c963b658fbcc67bdf949d5644e65">SVF::SVFFunction::getDomFrontierMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00449">SVFValue.h:449</a></div></div>
177
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a793f485e92d12cf407f2ffa41861eb3d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a793f485e92d12cf407f2ffa41861eb3d">SVF::SVFFunction::getEntryBlock</a></div><div class="ttdeci">const SVFBasicBlock * getEntryBlock() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00367">SVFValue.h:367</a></div></div>
178
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aee05370109d7667c40ca34c454c66714"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aee05370109d7667c40ca34c454c66714">SVF::SVFFunction::hasLoopInfo</a></div><div class="ttdeci">bool hasLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00424">SVFValue.h:424</a></div></div>
180
179
  <div class="ttc" id="cJSON_8h_html_a1a175e87536301df98c805ac0636ad7c"><div class="ttname"><a href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a></div><div class="ttdeci">const cJSON *const b</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00255">cJSON.h:255</a></div></div>
181
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a23ee9dbaa0052ef41ce2d75f1dc36491"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491">SVF::SVFCallInst::calledVal</a></div><div class="ttdeci">const SVFValue * calledVal</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00651">SVFValue.h:651</a></div></div>
182
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a0a012c8124abb103852e081fd5dead7a"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a">SVF::SVFVirtualCallInst::getVtablePtr</a></div><div class="ttdeci">const SVFValue * getVtablePtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00744">SVFValue.h:744</a></div></div>
183
- <div class="ttc" id="classSVF_1_1SVFConstantData_html_af2abe8e7f6d994677f4c93e2be11afac"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac">SVF::SVFConstantData::SVFConstantData</a></div><div class="ttdeci">SVFConstantData(const std::string &amp;_const, const SVFType *ty, SVFValKind k=SVFConstData)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00868">SVFValue.h:868</a></div></div>
184
- <div class="ttc" id="classSVF_1_1CallSite_html_a9e7c94ee7f689466111487e03b2cebcc"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">SVF::CallSite::getArgument</a></div><div class="ttdeci">const SVFValue * getArgument(u32_t ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01036">SVFValue.h:1036</a></div></div>
185
- <div class="ttc" id="classSVF_1_1SVFCallInst_html"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html">SVF::SVFCallInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00644">SVFValue.h:644</a></div></div>
186
- <div class="ttc" id="classSVF_1_1SVFValue_html_a2ba3206a8461ef82713264e235128826"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">SVF::SVFValue::getKind</a></div><div class="ttdeci">GNodeK getKind() const</div><div class="ttdoc">Get the type of this SVFValue. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00210">SVFValue.h:210</a></div></div>
180
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a23ee9dbaa0052ef41ce2d75f1dc36491"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a23ee9dbaa0052ef41ce2d75f1dc36491">SVF::SVFCallInst::calledVal</a></div><div class="ttdeci">const SVFValue * calledVal</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00642">SVFValue.h:642</a></div></div>
181
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a0a012c8124abb103852e081fd5dead7a"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a0a012c8124abb103852e081fd5dead7a">SVF::SVFVirtualCallInst::getVtablePtr</a></div><div class="ttdeci">const SVFValue * getVtablePtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00735">SVFValue.h:735</a></div></div>
182
+ <div class="ttc" id="classSVF_1_1SVFConstantData_html_af2abe8e7f6d994677f4c93e2be11afac"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#af2abe8e7f6d994677f4c93e2be11afac">SVF::SVFConstantData::SVFConstantData</a></div><div class="ttdeci">SVFConstantData(const std::string &amp;_const, const SVFType *ty, SVFValKind k=SVFConstData)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00859">SVFValue.h:859</a></div></div>
183
+ <div class="ttc" id="classSVF_1_1CallSite_html_a9e7c94ee7f689466111487e03b2cebcc"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">SVF::CallSite::getArgument</a></div><div class="ttdeci">const SVFValue * getArgument(u32_t ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01027">SVFValue.h:1027</a></div></div>
184
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html">SVF::SVFCallInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00635">SVFValue.h:635</a></div></div>
185
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a2ba3206a8461ef82713264e235128826"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">SVF::SVFValue::getKind</a></div><div class="ttdeci">GNodeK getKind() const</div><div class="ttdoc">Get the type of this SVFValue. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00205">SVFValue.h:205</a></div></div>
187
186
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ac29e502080635ed47b72d471b48b5a8d"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ac29e502080635ed47b72d471b48b5a8d">SVF::SVFLoopAndDomInfo::getLoopHeader</a></div><div class="ttdeci">const SVFBasicBlock * getLoopHeader(const LoopBBs &amp;lp) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00087">SVFValue.h:87</a></div></div>
188
- <div class="ttc" id="classSVF_1_1SVFFunction_html_acc4af12afb0bc14982060d2e3baa1929"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929">SVF::SVFFunction::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00473">SVFValue.h:473</a></div></div>
189
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a72c43f12f42a73dc28855c425fe5543a"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a">SVF::SVFGlobalValue::setDefGlobalForMultipleModule</a></div><div class="ttdeci">void setDefGlobalForMultipleModule(const SVFValue *defg)</div><div class="ttdoc">the definition of a function across multiple modules </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00800">SVFValue.h:800</a></div></div>
190
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_ac979b49b449b97b2a23f195cb107ec77"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">SVF::SVFCallInst::addArgument</a></div><div class="ttdeci">void addArgument(const SVFValue *a)</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00655">SVFValue.h:655</a></div></div>
191
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_abfe3a1ce5fa364d9db7cd2d0e6a144ff"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff">SVF::SVFBasicBlock::addSuccBasicBlock</a></div><div class="ttdeci">void addSuccBasicBlock(const SVFBasicBlock *succ)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00500">SVFValue.h:500</a></div></div>
192
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a49a6e9c0661135ceda2dd4d84c4b24ae"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">SVF::SVFFunction::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00398">SVFValue.h:398</a></div></div>
193
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a6f44afedce864c6ab6115f1aee4d3857"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857">SVF::SVFConstantFP::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00938">SVFValue.h:938</a></div></div>
187
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_acc4af12afb0bc14982060d2e3baa1929"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#acc4af12afb0bc14982060d2e3baa1929">SVF::SVFFunction::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00464">SVFValue.h:464</a></div></div>
188
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a72c43f12f42a73dc28855c425fe5543a"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a72c43f12f42a73dc28855c425fe5543a">SVF::SVFGlobalValue::setDefGlobalForMultipleModule</a></div><div class="ttdeci">void setDefGlobalForMultipleModule(const SVFValue *defg)</div><div class="ttdoc">the definition of a function across multiple modules </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00791">SVFValue.h:791</a></div></div>
189
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_ac979b49b449b97b2a23f195cb107ec77"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">SVF::SVFCallInst::addArgument</a></div><div class="ttdeci">void addArgument(const SVFValue *a)</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00646">SVFValue.h:646</a></div></div>
190
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_abfe3a1ce5fa364d9db7cd2d0e6a144ff"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#abfe3a1ce5fa364d9db7cd2d0e6a144ff">SVF::SVFBasicBlock::addSuccBasicBlock</a></div><div class="ttdeci">void addSuccBasicBlock(const SVFBasicBlock *succ)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00491">SVFValue.h:491</a></div></div>
191
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a49a6e9c0661135ceda2dd4d84c4b24ae"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a49a6e9c0661135ceda2dd4d84c4b24ae">SVF::SVFFunction::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00389">SVFValue.h:389</a></div></div>
192
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a6f44afedce864c6ab6115f1aee4d3857"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a6f44afedce864c6ab6115f1aee4d3857">SVF::SVFConstantFP::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00929">SVFValue.h:929</a></div></div>
194
193
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ae37546be7304c66b4eca2654d995eaa7"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">SVF::SVFLoopAndDomInfo::getDomFrontierMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00070">SVFValue.h:70</a></div></div>
195
194
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a2fc6b806a436d8fa65863f6cef99e716"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a2fc6b806a436d8fa65863f6cef99e716">SVF::SVFLoopAndDomInfo::getDomTreeMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00113">SVFValue.h:113</a></div></div>
196
- <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_ab79f7c5af1e235749b1e2d377748c5c2"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2">SVF::SVFBlackHoleValue::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00981">SVFValue.h:981</a></div></div>
197
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3b93a04e82233f64b1c463f6cece8ea1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1">SVF::SVFFunction::addrTaken</a></div><div class="ttdeci">bool addrTaken</div><div class="ttdoc">return true if this function is an intricsic function (e.g., llvm.dbg), which does not reside in the ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00279">SVFValue.h:279</a></div></div>
198
- <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="SVFValue_8h_source.html#l01095">SVFValue.h:1095</a></div></div>
199
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a68c3dc4b0a685397369b5116c2d31e42"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42">SVF::SVFConstantInt::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00903">SVFValue.h:903</a></div></div>
200
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a51c967b9e808b077562fbf25a04bafdc"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc">SVF::SVFInstruction::getPredInstructions</a></div><div class="ttdeci">const InstVec &amp; getPredInstructions() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00623">SVFValue.h:623</a></div></div>
201
- <div class="ttc" id="classSVF_1_1SVFValue_html_a588acec1904d440797ca4500f63f7d28"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a588acec1904d440797ca4500f63f7d28">SVF::SVFValue::setSourceLoc</a></div><div class="ttdeci">virtual void setSourceLoc(const std::string &amp;sourceCodeInfo)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00244">SVFValue.h:244</a></div></div>
202
- <div class="ttc" id="classSVF_1_1SVFValue_html_afc657036de9342fae6223077c10fcb01"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01">SVF::SVFValue::constDataOrAggData</a></div><div class="ttdeci">bool constDataOrAggData</div><div class="ttdoc">true if this value is a ConstantData (e.g., numbers, string, floats) or a constantAggregate ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00178">SVFValue.h:178</a></div></div>
203
- <div class="ttc" id="classSVF_1_1CallSite_html_a9b04a0f24be915a6e124106060225a3d"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d">SVF::CallSite::getVtablePtr</a></div><div class="ttdeci">const SVFValue * getVtablePtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01080">SVFValue.h:1080</a></div></div>
204
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_aa5c00eefbf2f2c8074c8e48b0b9a5e23"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFInstruction *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00762">SVFValue.h:762</a></div></div>
205
- <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html">SVF::SVFConstantNullPtr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00949">SVFValue.h:949</a></div></div>
195
+ <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_ab79f7c5af1e235749b1e2d377748c5c2"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#ab79f7c5af1e235749b1e2d377748c5c2">SVF::SVFBlackHoleValue::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00972">SVFValue.h:972</a></div></div>
196
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3b93a04e82233f64b1c463f6cece8ea1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3b93a04e82233f64b1c463f6cece8ea1">SVF::SVFFunction::addrTaken</a></div><div class="ttdeci">bool addrTaken</div><div class="ttdoc">return true if this function is an intricsic function (e.g., llvm.dbg), which does not reside in the ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00270">SVFValue.h:270</a></div></div>
197
+ <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="SVFValue_8h_source.html#l01086">SVFValue.h:1086</a></div></div>
198
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a68c3dc4b0a685397369b5116c2d31e42"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a68c3dc4b0a685397369b5116c2d31e42">SVF::SVFConstantInt::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00894">SVFValue.h:894</a></div></div>
199
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a51c967b9e808b077562fbf25a04bafdc"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a51c967b9e808b077562fbf25a04bafdc">SVF::SVFInstruction::getPredInstructions</a></div><div class="ttdeci">const InstVec &amp; getPredInstructions() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00614">SVFValue.h:614</a></div></div>
200
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a588acec1904d440797ca4500f63f7d28"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a588acec1904d440797ca4500f63f7d28">SVF::SVFValue::setSourceLoc</a></div><div class="ttdeci">virtual void setSourceLoc(const std::string &amp;sourceCodeInfo)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00235">SVFValue.h:235</a></div></div>
201
+ <div class="ttc" id="classSVF_1_1SVFValue_html_afc657036de9342fae6223077c10fcb01"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afc657036de9342fae6223077c10fcb01">SVF::SVFValue::constDataOrAggData</a></div><div class="ttdeci">bool constDataOrAggData</div><div class="ttdoc">true if this value is a ConstantData (e.g., numbers, string, floats) or a constantAggregate ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
202
+ <div class="ttc" id="classSVF_1_1CallSite_html_a9b04a0f24be915a6e124106060225a3d"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9b04a0f24be915a6e124106060225a3d">SVF::CallSite::getVtablePtr</a></div><div class="ttdeci">const SVFValue * getVtablePtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01071">SVFValue.h:1071</a></div></div>
203
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_aa5c00eefbf2f2c8074c8e48b0b9a5e23"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#aa5c00eefbf2f2c8074c8e48b0b9a5e23">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFInstruction *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00753">SVFValue.h:753</a></div></div>
204
+ <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html">SVF::SVFConstantNullPtr</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00940">SVFValue.h:940</a></div></div>
206
205
  <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="SVFValue_8h_source.html#l00157">SVFValue.h:157</a></div></div>
207
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a60797e9e8b9cbd6b32cc71fa5d00d80c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">SVF::SVFFunction::back</a></div><div class="ttdeci">const SVFBasicBlock * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00393">SVFValue.h:393</a></div></div>
206
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a60797e9e8b9cbd6b32cc71fa5d00d80c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a60797e9e8b9cbd6b32cc71fa5d00d80c">SVF::SVFFunction::back</a></div><div class="ttdeci">const SVFBasicBlock * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00384">SVFValue.h:384</a></div></div>
208
207
  <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="SVFType_8h_source.html#l00094">SVFType.h:94</a></div></div>
209
- <div class="ttc" id="classSVF_1_1SVFValue_html_aba56a2dc0ad508bf0ab2bbe52d557f07"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07">SVF::SVFValue::name</a></div><div class="ttdeci">std::string name</div><div class="ttdoc">Short name of this value for debugging. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00182">SVFValue.h:182</a></div></div>
210
- <div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00641">LLVMUtil.cpp:641</a></div></div>
211
- <div class="ttc" id="classSVF_1_1SVFArgument_html_ac4fa9a6b097a6745e016339851428c0d"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d">SVF::SVFArgument::argNo</a></div><div class="ttdeci">u32_t argNo</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00832">SVFValue.h:832</a></div></div>
208
+ <div class="ttc" id="classSVF_1_1SVFValue_html_aba56a2dc0ad508bf0ab2bbe52d557f07"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aba56a2dc0ad508bf0ab2bbe52d557f07">SVF::SVFValue::name</a></div><div class="ttdeci">std::string name</div><div class="ttdoc">Short name of this value for debugging. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00181">SVFValue.h:181</a></div></div>
209
+ <div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00681">LLVMUtil.cpp:681</a></div></div>
210
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_ac4fa9a6b097a6745e016339851428c0d"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#ac4fa9a6b097a6745e016339851428c0d">SVF::SVFArgument::argNo</a></div><div class="ttdeci">u32_t argNo</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00823">SVFValue.h:823</a></div></div>
212
211
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea240c99d161081b7400deddde71ca6914">SVF::SVFValue::SVFVCall</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00161">SVFValue.h:161</a></div></div>
213
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a0702a054bc6aec5fb67fe6e287f1e5f8"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8">SVF::SVFBasicBlock::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00516">SVFValue.h:516</a></div></div>
212
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a0702a054bc6aec5fb67fe6e287f1e5f8"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a0702a054bc6aec5fb67fe6e287f1e5f8">SVF::SVFBasicBlock::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00507">SVFValue.h:507</a></div></div>
214
213
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
215
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ae4f78769558a3cc8d2c948a4f5379ec9"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9">SVF::SVFFunction::BBSet</a></div><div class="ttdeci">SVFLoopAndDomInfo::BBSet BBSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00272">SVFValue.h:272</a></div></div>
216
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html_aeb4e17aacb17c53ff5663175dd762abc"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc">SVF::SVFConstantFP::getFPValue</a></div><div class="ttdeci">double getFPValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00934">SVFValue.h:934</a></div></div>
217
- <div class="ttc" id="classSVF_1_1SVFValue_html_a3a4b04027aa67278e7b1bb1ef88cf2e6"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">SVF::SVFValue::ptrInUncalledFunction</a></div><div class="ttdeci">bool ptrInUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00228">SVFValue.h:228</a></div></div>
214
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ae4f78769558a3cc8d2c948a4f5379ec9"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ae4f78769558a3cc8d2c948a4f5379ec9">SVF::SVFFunction::BBSet</a></div><div class="ttdeci">SVFLoopAndDomInfo::BBSet BBSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00263">SVFValue.h:263</a></div></div>
215
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html_aeb4e17aacb17c53ff5663175dd762abc"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#aeb4e17aacb17c53ff5663175dd762abc">SVF::SVFConstantFP::getFPValue</a></div><div class="ttdeci">double getFPValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00925">SVFValue.h:925</a></div></div>
216
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a3a4b04027aa67278e7b1bb1ef88cf2e6"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">SVF::SVFValue::ptrInUncalledFunction</a></div><div class="ttdeci">bool ptrInUncalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00223">SVFValue.h:223</a></div></div>
218
217
  <div class="ttc" id="namespaceSVFUtil_html"><div class="ttname"><a href="namespaceSVFUtil.html">SVFUtil</a></div></div>
219
218
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea582b0563ca6cb659fe6811b50c5b6ad0">SVF::SVFValue::SVFOther</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00171">SVFValue.h:171</a></div></div>
220
- <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="SVFValue_8h_source.html#l00423">SVFValue.h:423</a></div></div>
221
- <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_a3ca7ed38cf0887e21c14d8a6f18c4a59"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59">SVF::SVFConstantNullPtr::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00962">SVFValue.h:962</a></div></div>
222
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_ab6876d8be0707cbd05b467445a59d587"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587">SVF::SVFConstantInt::zval</a></div><div class="ttdeci">u64_t zval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00895">SVFValue.h:895</a></div></div>
223
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a5798ecc742ee74e357d13eea751258c4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4">SVF::SVFFunction::getLoopAndDomInfo</a></div><div class="ttdeci">SVFLoopAndDomInfo * getLoopAndDomInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00329">SVFValue.h:329</a></div></div>
219
+ <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="SVFValue_8h_source.html#l00414">SVFValue.h:414</a></div></div>
220
+ <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_a3ca7ed38cf0887e21c14d8a6f18c4a59"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#a3ca7ed38cf0887e21c14d8a6f18c4a59">SVF::SVFConstantNullPtr::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00953">SVFValue.h:953</a></div></div>
221
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_ab6876d8be0707cbd05b467445a59d587"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#ab6876d8be0707cbd05b467445a59d587">SVF::SVFConstantInt::zval</a></div><div class="ttdeci">u64_t zval</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00886">SVFValue.h:886</a></div></div>
222
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a5798ecc742ee74e357d13eea751258c4"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a5798ecc742ee74e357d13eea751258c4">SVF::SVFFunction::getLoopAndDomInfo</a></div><div class="ttdeci">SVFLoopAndDomInfo * getLoopAndDomInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00320">SVFValue.h:320</a></div></div>
224
223
  <div class="ttc" id="classSVF_1_1SVFValue_html_a96b29b0f3f0048278b3ec9aa6b6540c4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a96b29b0f3f0048278b3ec9aa6b6540c4">SVF::SVFValue::GNodeK</a></div><div class="ttdeci">s64_t GNodeK</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00152">SVFValue.h:152</a></div></div>
225
224
  <div class="ttc" id="namespaceSVF_html_aec4534b227e8f43b9077e708b74817fa"><div class="ttname"><a href="namespaceSVF.html#aec4534b227e8f43b9077e708b74817fa">SVF::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;o, const MRVer &amp;mrver)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00809">MemRegion.cpp:809</a></div></div>
226
- <div class="ttc" id="classSVF_1_1SVFValue_html_ac2e5c42d0ac92375c88ef5b3f1b65dc4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4">SVF::SVFValue::setPtrInUncalledFunction</a></div><div class="ttdeci">void setPtrInUncalledFunction()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00196">SVFValue.h:196</a></div></div>
227
- <div class="ttc" id="classSVF_1_1CallSite_html_a6d8296c7b29e4ac07531ab36fa2b06e1"><div class="ttname"><a href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1">SVF::CallSite::getFunIdxInVtable</a></div><div class="ttdeci">s32_t getFunIdxInVtable() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01085">SVFValue.h:1085</a></div></div>
225
+ <div class="ttc" id="classSVF_1_1SVFValue_html_ac2e5c42d0ac92375c88ef5b3f1b65dc4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac2e5c42d0ac92375c88ef5b3f1b65dc4">SVF::SVFValue::setPtrInUncalledFunction</a></div><div class="ttdeci">void setPtrInUncalledFunction()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00195">SVFValue.h:195</a></div></div>
226
+ <div class="ttc" id="classSVF_1_1CallSite_html_a6d8296c7b29e4ac07531ab36fa2b06e1"><div class="ttname"><a href="classSVF_1_1CallSite.html#a6d8296c7b29e4ac07531ab36fa2b06e1">SVF::CallSite::getFunIdxInVtable</a></div><div class="ttdeci">s32_t getFunIdxInVtable() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01076">SVFValue.h:1076</a></div></div>
228
227
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea7e9f41a359d4c5ab8a7881c3a31dc814">SVF::SVFValue::SVFConstInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00166">SVFValue.h:166</a></div></div>
229
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a3d3d19a3136d5d4fbda3946cf9f86231"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231">SVF::SVFInstruction::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00596">SVFValue.h:596</a></div></div>
230
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a61e04a2e436a4c141980ee06854b74ca"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca">SVF::SVFInstruction::ret</a></div><div class="ttdeci">bool ret</div><div class="ttdoc">return true if this is a terminator instruction </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00587">SVFValue.h:587</a></div></div>
231
- <div class="ttc" id="classSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01032">SVFValue.h:1032</a></div></div>
228
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a3d3d19a3136d5d4fbda3946cf9f86231"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a3d3d19a3136d5d4fbda3946cf9f86231">SVF::SVFInstruction::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00587">SVFValue.h:587</a></div></div>
229
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a61e04a2e436a4c141980ee06854b74ca"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a61e04a2e436a4c141980ee06854b74ca">SVF::SVFInstruction::ret</a></div><div class="ttdeci">bool ret</div><div class="ttdoc">return true if this is a terminator instruction </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00578">SVFValue.h:578</a></div></div>
230
+ <div class="ttc" id="classSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01023">SVFValue.h:1023</a></div></div>
232
231
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_afc83955233ed9c77ad6a8b36e4a6b168"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#afc83955233ed9c77ad6a8b36e4a6b168">SVF::SVFLoopAndDomInfo::setReachableBBs</a></div><div class="ttdeci">const void setReachableBBs(BBList &amp;bbs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00133">SVFValue.h:133</a></div></div>
233
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a38f8fdd93ef7222f408cbbb2a98a1cd5"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5">SVF::SVFBasicBlock::addPredBasicBlock</a></div><div class="ttdeci">void addPredBasicBlock(const SVFBasicBlock *pred)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00505">SVFValue.h:505</a></div></div>
234
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00792">SVFValue.h:792</a></div></div>
232
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a38f8fdd93ef7222f408cbbb2a98a1cd5"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a38f8fdd93ef7222f408cbbb2a98a1cd5">SVF::SVFBasicBlock::addPredBasicBlock</a></div><div class="ttdeci">void addPredBasicBlock(const SVFBasicBlock *pred)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00496">SVFValue.h:496</a></div></div>
233
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00783">SVFValue.h:783</a></div></div>
235
234
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea0cd1a3ddb49c00f3302e9010d73301e5">SVF::SVFValue::SVFCall</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00160">SVFValue.h:160</a></div></div>
236
- <div class="ttc" id="classSVF_1_1SVFValue_html_a89e13c82c6f302704838b9496a288aea"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a89e13c82c6f302704838b9496a288aea">SVF::SVFValue::has_name</a></div><div class="ttdeci">bool has_name</div><div class="ttdoc">true if this value has a name </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
237
235
  <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="SVFValue_8h_source.html#l00158">SVFValue.h:158</a></div></div>
238
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00917">SVFValue.h:917</a></div></div>
236
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00908">SVFValue.h:908</a></div></div>
239
237
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea69211a5785ed3da7924e6dcc7b604c82">SVF::SVFValue::SVFConstFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00167">SVFValue.h:167</a></div></div>
240
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_ab654651e3117e8480544615fb1574766"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">SVF::SVFCallInst::getCalledFunction</a></div><div class="ttdeci">const SVFFunction * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00706">SVFValue.h:706</a></div></div>
241
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00628">SVFValue.h:628</a></div></div>
238
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_ab654651e3117e8480544615fb1574766"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ab654651e3117e8480544615fb1574766">SVF::SVFCallInst::getCalledFunction</a></div><div class="ttdeci">const SVFFunction * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00697">SVFValue.h:697</a></div></div>
239
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_aef7ad257ea809101df33779463907f3e"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#aef7ad257ea809101df33779463907f3e">SVF::SVFInstruction::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00619">SVFValue.h:619</a></div></div>
242
240
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a39257282d3875b5d28c21f6c8b1caf43"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a39257282d3875b5d28c21f6c8b1caf43">SVF::SVFLoopAndDomInfo::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00114">SVFValue.cpp:114</a></div></div>
243
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a61f00e0fde32e5dbe78958d172dd9fd3"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">SVF::SVFCallInst::getCalledOperand</a></div><div class="ttdeci">const SVFValue * getCalledOperand() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00698">SVFValue.h:698</a></div></div>
244
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a34767de48e7d454c3ea7c92dcb29b268"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268">SVF::SVFVirtualCallInst::funNameOfVcall</a></div><div class="ttdeci">std::string funNameOfVcall</div><div class="ttdoc">virtual function index of the virtual table(s) at a virtual call </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00723">SVFValue.h:723</a></div></div>
241
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a61f00e0fde32e5dbe78958d172dd9fd3"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a61f00e0fde32e5dbe78958d172dd9fd3">SVF::SVFCallInst::getCalledOperand</a></div><div class="ttdeci">const SVFValue * getCalledOperand() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00689">SVFValue.h:689</a></div></div>
242
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a34767de48e7d454c3ea7c92dcb29b268"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a34767de48e7d454c3ea7c92dcb29b268">SVF::SVFVirtualCallInst::funNameOfVcall</a></div><div class="ttdeci">std::string funNameOfVcall</div><div class="ttdoc">virtual function index of the virtual table(s) at a virtual call </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00714">SVFValue.h:714</a></div></div>
245
243
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a6b87fa0530b6d94f201a0989b35c2277"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a6b87fa0530b6d94f201a0989b35c2277">SVF::SVFLoopAndDomInfo::getPostDomTreeMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getPostDomTreeMap()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00108">SVFValue.h:108</a></div></div>
246
- <div class="ttc" id="classSVF_1_1SVFValue_html_a4c46c11c4b1c0f43c80818cf7408703a"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4c46c11c4b1c0f43c80818cf7408703a">SVF::SVFValue::hasName</a></div><div class="ttdeci">bool hasName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00240">SVFValue.h:240</a></div></div>
247
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a3ff4ec73d0e5eea7d8369d3d948e89f4"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4">SVF::SVFArgument::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00831">SVFValue.h:831</a></div></div>
248
- <div class="ttc" id="classSVF_1_1CallSite_html_a100235069232bd9940783a31acfd1169"><div class="ttname"><a href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169">SVF::CallSite::isVirtualCall</a></div><div class="ttdeci">const bool isVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01076">SVFValue.h:1076</a></div></div>
249
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_af19bc370764b552b5ce55c9967bd5a1e"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">SVF::SVFCallInst::arg_empty</a></div><div class="ttdeci">bool arg_empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00685">SVFValue.h:685</a></div></div>
244
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a3ff4ec73d0e5eea7d8369d3d948e89f4"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a3ff4ec73d0e5eea7d8369d3d948e89f4">SVF::SVFArgument::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00822">SVFValue.h:822</a></div></div>
245
+ <div class="ttc" id="classSVF_1_1CallSite_html_a100235069232bd9940783a31acfd1169"><div class="ttname"><a href="classSVF_1_1CallSite.html#a100235069232bd9940783a31acfd1169">SVF::CallSite::isVirtualCall</a></div><div class="ttdeci">const bool isVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01067">SVFValue.h:1067</a></div></div>
246
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_af19bc370764b552b5ce55c9967bd5a1e"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#af19bc370764b552b5ce55c9967bd5a1e">SVF::SVFCallInst::arg_empty</a></div><div class="ttdeci">bool arg_empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00676">SVFValue.h:676</a></div></div>
250
247
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a522e9d29a83ebd76ec208b76b8fd6cc0"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a522e9d29a83ebd76ec208b76b8fd6cc0">SVF::SVFLoopAndDomInfo::pdtBBsMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; pdtBBsMap</div><div class="ttdoc">map a BasicBlock to BasicBlocks it PostDominates </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00060">SVFValue.h:60</a></div></div>
251
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a5fb9b8bbaf347d99e9df5710da506c96"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96">SVF::SVFGlobalValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00818">SVFValue.h:818</a></div></div>
252
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a78f8e3238be991bf5cc42a84c29b9007"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007">SVF::SVFFunction::realDefFun</a></div><div class="ttdeci">const SVFFunction * realDefFun</div><div class="ttdoc">the loop and dominate information </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00285">SVFValue.h:285</a></div></div>
253
- <div class="ttc" id="classSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00248">SVFValue.h:248</a></div></div>
254
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a1d7057e02488b26ca34aefa045f733e9"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00758">SVFValue.h:758</a></div></div>
255
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a8ca4fa87f4c26b71c6e03c8f32db1071"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const SVFBasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00382">SVFValue.h:382</a></div></div>
256
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a5656acc955ca756ad51064dee30ea07d"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d">SVF::SVFArgument::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00857">SVFValue.h:857</a></div></div>
257
- <div class="ttc" id="classSVF_1_1SVFArgument_html_ad3ba761e7f2d872e52d60e621546a5b0"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0">SVF::SVFArgument::SVFArgument</a></div><div class="ttdeci">SVFArgument(const std::string &amp;_arg, const SVFType *ty, const SVFFunction *_fun, u32_t _argNo, bool _uncalled)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00835">SVFValue.h:835</a></div></div>
248
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a5fb9b8bbaf347d99e9df5710da506c96"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a5fb9b8bbaf347d99e9df5710da506c96">SVF::SVFGlobalValue::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00809">SVFValue.h:809</a></div></div>
249
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a78f8e3238be991bf5cc42a84c29b9007"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a78f8e3238be991bf5cc42a84c29b9007">SVF::SVFFunction::realDefFun</a></div><div class="ttdeci">const SVFFunction * realDefFun</div><div class="ttdoc">the loop and dominate information </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00276">SVFValue.h:276</a></div></div>
250
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00239">SVFValue.h:239</a></div></div>
251
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a1d7057e02488b26ca34aefa045f733e9"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a1d7057e02488b26ca34aefa045f733e9">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00749">SVFValue.h:749</a></div></div>
252
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8ca4fa87f4c26b71c6e03c8f32db1071"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8ca4fa87f4c26b71c6e03c8f32db1071">SVF::SVFFunction::getExitBB</a></div><div class="ttdeci">const SVFBasicBlock * getExitBB() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00373">SVFValue.h:373</a></div></div>
253
+ <div class="ttc" id="namespaceSVF_html_ac8f90a58fd0d8e775e290b31f8ea9ce9"><div class="ttname"><a href="namespaceSVF.html#ac8f90a58fd0d8e775e290b31f8ea9ce9">SVF::GraphPrinter</a></div><div class="ttdeci">SVF::GraphPrinter GraphPrinter</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00041">SVFValue.h:41</a></div></div>
254
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a5656acc955ca756ad51064dee30ea07d"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a5656acc955ca756ad51064dee30ea07d">SVF::SVFArgument::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00848">SVFValue.h:848</a></div></div>
255
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_ad3ba761e7f2d872e52d60e621546a5b0"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#ad3ba761e7f2d872e52d60e621546a5b0">SVF::SVFArgument::SVFArgument</a></div><div class="ttdeci">SVFArgument(const std::string &amp;_arg, const SVFType *ty, const SVFFunction *_fun, u32_t _argNo, bool _uncalled)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00826">SVFValue.h:826</a></div></div>
258
256
  <div class="ttc" id="classSVF_1_1SVFValue_html_ab9dc800239cb906c1a044b05568f5fec"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ab9dc800239cb906c1a044b05568f5fec">SVF::SVFValue::ptrInUncalledFun</a></div><div class="ttdeci">bool ptrInUncalledFun</div><div class="ttdoc">true if this pointer is in an uncalled function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00176">SVFValue.h:176</a></div></div>
259
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ad05f85ce931d4479f71d1947a25599dc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">SVF::SVFBasicBlock::back</a></div><div class="ttdeci">const SVFInstruction * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00551">SVFValue.h:551</a></div></div>
260
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ad865b8440a6e0d5d212798d2213e1e9c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c">SVF::SVFFunction::addArgument</a></div><div class="ttdeci">void addArgument(SVFArgument *arg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
261
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a767f18ea3a573aafc46b17aabcdc0c8b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b">SVF::SVFFunction::getLoopHeader</a></div><div class="ttdeci">const SVFBasicBlock * getLoopHeader(const BBList &amp;lp) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00443">SVFValue.h:443</a></div></div>
262
- <div class="ttc" id="classSVF_1_1SVFValue_html_afcbdd027f9e6e35a7269f04f5fc77a78"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78">SVF::SVFValue::type</a></div><div class="ttdeci">const SVFType * type</div><div class="ttdoc">Type of this SVFValue. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00181">SVFValue.h:181</a></div></div>
257
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ad05f85ce931d4479f71d1947a25599dc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ad05f85ce931d4479f71d1947a25599dc">SVF::SVFBasicBlock::back</a></div><div class="ttdeci">const SVFInstruction * back() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00542">SVFValue.h:542</a></div></div>
258
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ad865b8440a6e0d5d212798d2213e1e9c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ad865b8440a6e0d5d212798d2213e1e9c">SVF::SVFFunction::addArgument</a></div><div class="ttdeci">void addArgument(SVFArgument *arg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00288">SVFValue.h:288</a></div></div>
259
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a767f18ea3a573aafc46b17aabcdc0c8b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a767f18ea3a573aafc46b17aabcdc0c8b">SVF::SVFFunction::getLoopHeader</a></div><div class="ttdeci">const SVFBasicBlock * getLoopHeader(const BBList &amp;lp) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00434">SVFValue.h:434</a></div></div>
260
+ <div class="ttc" id="classSVF_1_1SVFValue_html_afcbdd027f9e6e35a7269f04f5fc77a78"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afcbdd027f9e6e35a7269f04f5fc77a78">SVF::SVFValue::type</a></div><div class="ttdeci">const SVFType * type</div><div class="ttdoc">Type of this SVFValue. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00180">SVFValue.h:180</a></div></div>
263
261
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html">SVF::SVFLoopAndDomInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00050">SVFValue.h:50</a></div></div>
264
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_af48d08d3adf7dd3ed69d97e4df360059"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">SVF::SVFBasicBlock::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00536">SVFValue.h:536</a></div></div>
265
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a7bde256bc906af7f7204929019f4a33e"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">SVF::SVFBasicBlock::front</a></div><div class="ttdeci">const SVFInstruction * front() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00546">SVFValue.h:546</a></div></div>
266
- <div class="ttc" id="classSVF_1_1CallSite_html_aa21ead8f8652ef405a86b385837ea910"><div class="ttname"><a href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(const SVFInstruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01028">SVFValue.h:1028</a></div></div>
267
- <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_af1f3339ef1e27302e4c9145353774ecd"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd">SVF::SVFConstantNullPtr::SVFConstantNullPtr</a></div><div class="ttdeci">SVFConstantNullPtr(const std::string &amp;_const, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00953">SVFValue.h:953</a></div></div>
262
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_af48d08d3adf7dd3ed69d97e4df360059"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#af48d08d3adf7dd3ed69d97e4df360059">SVF::SVFBasicBlock::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00527">SVFValue.h:527</a></div></div>
263
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a7bde256bc906af7f7204929019f4a33e"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a7bde256bc906af7f7204929019f4a33e">SVF::SVFBasicBlock::front</a></div><div class="ttdeci">const SVFInstruction * front() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00537">SVFValue.h:537</a></div></div>
264
+ <div class="ttc" id="classSVF_1_1CallSite_html_aa21ead8f8652ef405a86b385837ea910"><div class="ttname"><a href="classSVF_1_1CallSite.html#aa21ead8f8652ef405a86b385837ea910">SVF::CallSite::CallSite</a></div><div class="ttdeci">CallSite(const SVFInstruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01019">SVFValue.h:1019</a></div></div>
265
+ <div class="ttc" id="classSVF_1_1SVFConstantNullPtr_html_af1f3339ef1e27302e4c9145353774ecd"><div class="ttname"><a href="classSVF_1_1SVFConstantNullPtr.html#af1f3339ef1e27302e4c9145353774ecd">SVF::SVFConstantNullPtr::SVFConstantNullPtr</a></div><div class="ttdeci">SVFConstantNullPtr(const std::string &amp;_const, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00944">SVFValue.h:944</a></div></div>
268
266
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_af66c5a824f9fc2813e2d97e17f9a2e96"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#af66c5a824f9fc2813e2d97e17f9a2e96">SVF::SVFLoopAndDomInfo::postDominate</a></div><div class="ttdeci">bool postDominate(const SVFBasicBlock *bbKey, const SVFBasicBlock *bbValue) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00084">SVFValue.cpp:84</a></div></div>
269
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a4c6a46662ed4ad7513be9703ad5595c9"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9">SVF::SVFVirtualCallInst::SVFVirtualCallInst</a></div><div class="ttdeci">SVFVirtualCallInst(const std::string &amp;i, const SVFType *ty, const SVFBasicBlock *b, bool vararg, bool tm)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00740">SVFValue.h:740</a></div></div>
270
- <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_ad45a296930846892ece8e40c90253622"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622">SVF::SVFBlackHoleValue::SVFBlackHoleValue</a></div><div class="ttdeci">SVFBlackHoleValue(const std::string &amp;_const, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00972">SVFValue.h:972</a></div></div>
271
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a94c04bebac82268c00d614c61e15274b"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b">SVF::SVFVirtualCallInst::setVtablePtr</a></div><div class="ttdeci">void setVtablePtr(const SVFValue *vptr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00734">SVFValue.h:734</a></div></div>
272
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_adfb8e01d3715f0cf49db23544f4593e6"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6">SVF::SVFVirtualCallInst::virtualFunIdx</a></div><div class="ttdeci">s32_t virtualFunIdx</div><div class="ttdoc">virtual table pointer </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00722">SVFValue.h:722</a></div></div>
267
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a4c6a46662ed4ad7513be9703ad5595c9"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a4c6a46662ed4ad7513be9703ad5595c9">SVF::SVFVirtualCallInst::SVFVirtualCallInst</a></div><div class="ttdeci">SVFVirtualCallInst(const std::string &amp;i, const SVFType *ty, const SVFBasicBlock *b, bool vararg, bool tm)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00731">SVFValue.h:731</a></div></div>
268
+ <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html_ad45a296930846892ece8e40c90253622"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html#ad45a296930846892ece8e40c90253622">SVF::SVFBlackHoleValue::SVFBlackHoleValue</a></div><div class="ttdeci">SVFBlackHoleValue(const std::string &amp;_const, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00963">SVFValue.h:963</a></div></div>
269
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a94c04bebac82268c00d614c61e15274b"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a94c04bebac82268c00d614c61e15274b">SVF::SVFVirtualCallInst::setVtablePtr</a></div><div class="ttdeci">void setVtablePtr(const SVFValue *vptr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00725">SVFValue.h:725</a></div></div>
270
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_adfb8e01d3715f0cf49db23544f4593e6"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#adfb8e01d3715f0cf49db23544f4593e6">SVF::SVFVirtualCallInst::virtualFunIdx</a></div><div class="ttdeci">s32_t virtualFunIdx</div><div class="ttdoc">virtual table pointer </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00713">SVFValue.h:713</a></div></div>
273
271
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_aae39e2f9440710b401f0d34f90ced407"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#aae39e2f9440710b401f0d34f90ced407">SVF::SVFLoopAndDomInfo::~SVFLoopAndDomInfo</a></div><div class="ttdeci">virtual ~SVFLoopAndDomInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00068">SVFValue.h:68</a></div></div>
274
272
  <div class="ttc" id="cJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
275
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a3048ae66c737eebbe7fe230f95a88b6e"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e">SVF::SVFGlobalValue::realDefGlobal</a></div><div class="ttdeci">const SVFValue * realDefGlobal</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00797">SVFValue.h:797</a></div></div>
276
- <div class="ttc" id="classSVF_1_1SVFValue_html_ac29e2f5e75cc6916be6a663ca6d51177"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177">SVF::SVFValue::isNullPtr</a></div><div class="ttdeci">bool isNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00236">SVFValue.h:236</a></div></div>
277
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a76a8bb676e8c99ca518cbdf704678558"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">SVF::SVFCallInst::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00710">SVFValue.h:710</a></div></div>
278
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a16dd17efc0762c20094e960115519c26"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFCallInst *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00766">SVFValue.h:766</a></div></div>
273
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_a3048ae66c737eebbe7fe230f95a88b6e"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#a3048ae66c737eebbe7fe230f95a88b6e">SVF::SVFGlobalValue::realDefGlobal</a></div><div class="ttdeci">const SVFValue * realDefGlobal</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00788">SVFValue.h:788</a></div></div>
274
+ <div class="ttc" id="classSVF_1_1SVFValue_html_ac29e2f5e75cc6916be6a663ca6d51177"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac29e2f5e75cc6916be6a663ca6d51177">SVF::SVFValue::isNullPtr</a></div><div class="ttdeci">bool isNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00231">SVFValue.h:231</a></div></div>
275
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a76a8bb676e8c99ca518cbdf704678558"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a76a8bb676e8c99ca518cbdf704678558">SVF::SVFCallInst::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00701">SVFValue.h:701</a></div></div>
276
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a16dd17efc0762c20094e960115519c26"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a16dd17efc0762c20094e960115519c26">SVF::SVFVirtualCallInst::classof</a></div><div class="ttdeci">static bool classof(const SVFCallInst *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00757">SVFValue.h:757</a></div></div>
279
277
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_adc010d8c6b2a3fe1a99f39552be5b117"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#adc010d8c6b2a3fe1a99f39552be5b117">SVF::SVFLoopAndDomInfo::loopContainsBB</a></div><div class="ttdeci">bool loopContainsBB(const LoopBBs &amp;lp, const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00093">SVFValue.h:93</a></div></div>
280
- <div class="ttc" id="classSVF_1_1SVFConstantInt_html_aabc3c47a6e4036bf993fe29fa195bf1e"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e">SVF::SVFConstantInt::getZExtValue</a></div><div class="ttdeci">u64_t getZExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00912">SVFValue.h:912</a></div></div>
278
+ <div class="ttc" id="classSVF_1_1SVFConstantInt_html_aabc3c47a6e4036bf993fe29fa195bf1e"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e">SVF::SVFConstantInt::getZExtValue</a></div><div class="ttdeci">u64_t getZExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00903">SVFValue.h:903</a></div></div>
281
279
  <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>
282
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a8f2aced2df91bf97d644d9a2de449c38"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38">SVF::SVFFunction::getBasicBlockList</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getBasicBlockList() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00408">SVFValue.h:408</a></div></div>
283
- <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="SVFValue_8h_source.html#l01023">SVFValue.h:1023</a></div></div>
284
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_affe1e1d74a71c17a7fb8a9a145bd9524"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524">SVF::SVFCallInst::args</a></div><div class="ttdeci">std::vector&lt; const SVFValue * &gt; args</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00649">SVFValue.h:649</a></div></div>
285
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a90e39f78f4908f8a8ef3948d9158791c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c">SVF::SVFFunction::getReachableBBs</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getReachableBBs() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00413">SVFValue.h:413</a></div></div>
286
- <div class="ttc" id="classSVF_1_1SVFFunction_html_afa469fdfa92b99d1727b8df873c86768"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768">SVF::SVFFunction::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00463">SVFValue.h:463</a></div></div>
280
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a8f2aced2df91bf97d644d9a2de449c38"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a8f2aced2df91bf97d644d9a2de449c38">SVF::SVFFunction::getBasicBlockList</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getBasicBlockList() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00399">SVFValue.h:399</a></div></div>
281
+ <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="SVFValue_8h_source.html#l01014">SVFValue.h:1014</a></div></div>
282
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_affe1e1d74a71c17a7fb8a9a145bd9524"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#affe1e1d74a71c17a7fb8a9a145bd9524">SVF::SVFCallInst::args</a></div><div class="ttdeci">std::vector&lt; const SVFValue * &gt; args</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00640">SVFValue.h:640</a></div></div>
283
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a90e39f78f4908f8a8ef3948d9158791c"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a90e39f78f4908f8a8ef3948d9158791c">SVF::SVFFunction::getReachableBBs</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getReachableBBs() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00404">SVFValue.h:404</a></div></div>
284
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_afa469fdfa92b99d1727b8df873c86768"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#afa469fdfa92b99d1727b8df873c86768">SVF::SVFFunction::isLoopHeader</a></div><div class="ttdeci">bool isLoopHeader(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00454">SVFValue.h:454</a></div></div>
287
285
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a2b5c892437d21ece0a9e0ae7a285b622"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a2b5c892437d21ece0a9e0ae7a285b622">SVF::SVFLoopAndDomInfo::SVFLoopAndDomInfo</a></div><div class="ttdeci">SVFLoopAndDomInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00064">SVFValue.h:64</a></div></div>
288
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a11aaa0ffaf7fa3d220c9af5d4537eaad"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">SVF::SVFFunction::varArg</a></div><div class="ttdeci">bool varArg</div><div class="ttdoc">return true if this function never returns </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00282">SVFValue.h:282</a></div></div>
289
- <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="SVFValue_8h_source.html#l01099">SVFValue.h:1099</a></div></div>
286
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a11aaa0ffaf7fa3d220c9af5d4537eaad"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a11aaa0ffaf7fa3d220c9af5d4537eaad">SVF::SVFFunction::varArg</a></div><div class="ttdeci">bool varArg</div><div class="ttdoc">return true if this function never returns </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00273">SVFValue.h:273</a></div></div>
287
+ <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="SVFValue_8h_source.html#l01090">SVFValue.h:1090</a></div></div>
290
288
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860e">SVF::SVFValue::SVFValKind</a></div><div class="ttdeci">SVFValKind</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00154">SVFValue.h:154</a></div></div>
291
- <div class="ttc" id="classSVF_1_1CallSite_html_afa0f55d8fd4248bf6ed39892b3b37438"><div class="ttname"><a href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438">SVF::CallSite::getCalledFunction</a></div><div class="ttdeci">const SVFFunction * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01060">SVFValue.h:1060</a></div></div>
292
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a815feae0cca159fb0f3f74731c2cea1f"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f">SVF::SVFConstantFP::SVFConstantFP</a></div><div class="ttdeci">SVFConstantFP(const std::string &amp;_const, const SVFType *ty, double d)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00929">SVFValue.h:929</a></div></div>
293
- <div class="ttc" id="classSVF_1_1CallSite_html_a8344d90c8f5637f39c45fbc60f381cd9"><div class="ttname"><a href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9">SVF::CallSite::getFunNameOfVirtualCall</a></div><div class="ttdeci">const std::string &amp; getFunNameOfVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01090">SVFValue.h:1090</a></div></div>
294
- <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="SVFValue_8h_source.html#l00338">SVFValue.h:338</a></div></div>
295
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a7a0f92c37fd42989b0d01b78c37d7c2f"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f">SVF::SVFVirtualCallInst::vCallVtblPtr</a></div><div class="ttdeci">const SVFValue * vCallVtblPtr</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00721">SVFValue.h:721</a></div></div>
296
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00526">SVFValue.h:526</a></div></div>
289
+ <div class="ttc" id="classSVF_1_1CallSite_html_afa0f55d8fd4248bf6ed39892b3b37438"><div class="ttname"><a href="classSVF_1_1CallSite.html#afa0f55d8fd4248bf6ed39892b3b37438">SVF::CallSite::getCalledFunction</a></div><div class="ttdeci">const SVFFunction * getCalledFunction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01051">SVFValue.h:1051</a></div></div>
290
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a815feae0cca159fb0f3f74731c2cea1f"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a815feae0cca159fb0f3f74731c2cea1f">SVF::SVFConstantFP::SVFConstantFP</a></div><div class="ttdeci">SVFConstantFP(const std::string &amp;_const, const SVFType *ty, double d)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00920">SVFValue.h:920</a></div></div>
291
+ <div class="ttc" id="classSVF_1_1CallSite_html_a8344d90c8f5637f39c45fbc60f381cd9"><div class="ttname"><a href="classSVF_1_1CallSite.html#a8344d90c8f5637f39c45fbc60f381cd9">SVF::CallSite::getFunNameOfVirtualCall</a></div><div class="ttdeci">const std::string &amp; getFunNameOfVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01081">SVFValue.h:1081</a></div></div>
292
+ <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="SVFValue_8h_source.html#l00329">SVFValue.h:329</a></div></div>
293
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a7a0f92c37fd42989b0d01b78c37d7c2f"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a7a0f92c37fd42989b0d01b78c37d7c2f">SVF::SVFVirtualCallInst::vCallVtblPtr</a></div><div class="ttdeci">const SVFValue * vCallVtblPtr</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00712">SVFValue.h:712</a></div></div>
294
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
297
295
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a48654f61a84ac5f93b02fb618cd0d045"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a48654f61a84ac5f93b02fb618cd0d045">SVF::SVFLoopAndDomInfo::getExitBlocksOfLoop</a></div><div class="ttdeci">void getExitBlocksOfLoop(const SVFBasicBlock *bb, BBList &amp;exitbbs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00034">SVFValue.cpp:34</a></div></div>
298
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a3aba9ce21649425c539695a7584dfe42"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42">SVF::SVFConstantFP::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00942">SVFValue.h:942</a></div></div>
299
- <div class="ttc" id="classSVF_1_1SVFCallInst_html_a292de585e06f0f2fe3278c74630f3c05"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">SVF::SVFCallInst::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00702">SVFValue.h:702</a></div></div>
296
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html_a3aba9ce21649425c539695a7584dfe42"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html#a3aba9ce21649425c539695a7584dfe42">SVF::SVFConstantFP::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00933">SVFValue.h:933</a></div></div>
297
+ <div class="ttc" id="classSVF_1_1SVFCallInst_html_a292de585e06f0f2fe3278c74630f3c05"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#a292de585e06f0f2fe3278c74630f3c05">SVF::SVFCallInst::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00693">SVFValue.h:693</a></div></div>
300
298
  <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#l00342">Casting.h:342</a></div></div>
301
- <div class="ttc" id="classSVF_1_1CallSite_html_a93e70225ce9c55ca65ea9d5cf737206f"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">SVF::CallSite::getType</a></div><div class="ttdeci">const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01040">SVFValue.h:1040</a></div></div>
302
- <div class="ttc" id="classSVF_1_1SVFArgument_html_a59d1389a296abc4bf17434c1cd7b6f57"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57">SVF::SVFArgument::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00840">SVFValue.h:840</a></div></div>
303
- <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a0390b8b85a52ed216653568c8439bd88"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88">SVF::SVFVirtualCallInst::getFunNameOfVirtualCall</a></div><div class="ttdeci">const std::string &amp; getFunNameOfVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00754">SVFValue.h:754</a></div></div>
299
+ <div class="ttc" id="classSVF_1_1CallSite_html_a93e70225ce9c55ca65ea9d5cf737206f"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">SVF::CallSite::getType</a></div><div class="ttdeci">const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01031">SVFValue.h:1031</a></div></div>
300
+ <div class="ttc" id="classSVF_1_1SVFArgument_html_a59d1389a296abc4bf17434c1cd7b6f57"><div class="ttname"><a href="classSVF_1_1SVFArgument.html#a59d1389a296abc4bf17434c1cd7b6f57">SVF::SVFArgument::getParent</a></div><div class="ttdeci">const SVFFunction * getParent() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00831">SVFValue.h:831</a></div></div>
301
+ <div class="ttc" id="classSVF_1_1SVFVirtualCallInst_html_a0390b8b85a52ed216653568c8439bd88"><div class="ttname"><a href="classSVF_1_1SVFVirtualCallInst.html#a0390b8b85a52ed216653568c8439bd88">SVF::SVFVirtualCallInst::getFunNameOfVirtualCall</a></div><div class="ttdeci">const std::string &amp; getFunNameOfVirtualCall() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00745">SVFValue.h:745</a></div></div>
304
302
  <div class="ttc" id="classSVF_1_1SVFValue_html_af9f71a3c0d055f5fed6831a6ecf40d67"><div class="ttname"><a href="classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67">SVF::SVFValue::kind</a></div><div class="ttdeci">GNodeK kind</div><div class="ttdoc">used for classof </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00175">SVFValue.h:175</a></div></div>
305
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a2954b0f29cd81083598afb6431b78f2a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">SVF::SVFBasicBlock::allInsts</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt; allInsts</div><div class="ttdoc">all Instructions in this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00488">SVFValue.h:488</a></div></div>
306
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_a454f676881eecf4b7399649a81180b5d"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d">SVF::SVFInstruction::isRetInst</a></div><div class="ttdeci">bool isRetInst() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00638">SVFValue.h:638</a></div></div>
307
- <div class="ttc" id="classSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00828">SVFValue.h:828</a></div></div>
308
- <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="SVFValue_8h_source.html#l00480">SVFValue.h:480</a></div></div>
309
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac6fabc508f6b64127bb597f7b2110231"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">SVF::SVFBasicBlock::getPredecessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getPredecessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00565">SVFValue.h:565</a></div></div>
303
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a2954b0f29cd81083598afb6431b78f2a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a2954b0f29cd81083598afb6431b78f2a">SVF::SVFBasicBlock::allInsts</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt; allInsts</div><div class="ttdoc">all Instructions in this BasicBlock </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00479">SVFValue.h:479</a></div></div>
304
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_a454f676881eecf4b7399649a81180b5d"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#a454f676881eecf4b7399649a81180b5d">SVF::SVFInstruction::isRetInst</a></div><div class="ttdeci">bool isRetInst() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00629">SVFValue.h:629</a></div></div>
305
+ <div class="ttc" id="classSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00819">SVFValue.h:819</a></div></div>
306
+ <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="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
307
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac6fabc508f6b64127bb597f7b2110231"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac6fabc508f6b64127bb597f7b2110231">SVF::SVFBasicBlock::getPredecessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getPredecessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00556">SVFValue.h:556</a></div></div>
310
308
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_af3eeabc8b81b2aff27ae3577195a1eff"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#af3eeabc8b81b2aff27ae3577195a1eff">SVF::SVFLoopAndDomInfo::reachableBBs</a></div><div class="ttdeci">BBList reachableBBs</div><div class="ttdoc">reachable BasicBlocks from the function entry. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00058">SVFValue.h:58</a></div></div>
311
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a68f988a0db99bd36e53253cb88f9d09f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00453">SVFValue.h:453</a></div></div>
312
- <div class="ttc" id="classSVF_1_1SVFValue_html_adcd0f90825818ab1de34e58c1a3084a3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3">SVF::SVFValue::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00224">SVFValue.h:224</a></div></div>
309
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a68f988a0db99bd36e53253cb88f9d09f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a68f988a0db99bd36e53253cb88f9d09f">SVF::SVFFunction::getDomTreeMap</a></div><div class="ttdeci">const Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00444">SVFValue.h:444</a></div></div>
310
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adcd0f90825818ab1de34e58c1a3084a3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adcd0f90825818ab1de34e58c1a3084a3">SVF::SVFValue::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00219">SVFValue.h:219</a></div></div>
313
311
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eab88017aa421080f4f7a033b2fa37f9ca">SVF::SVFValue::SVFConstData</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00165">SVFValue.h:165</a></div></div>
314
- <div class="ttc" id="classSVF_1_1SVFConstantData_html_a69777730832b61b6503f05ce80af65c3"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3">SVF::SVFConstantData::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00873">SVFValue.h:873</a></div></div>
315
- <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_a971ae595fc62da1e4fc49b675c54dee4"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4">SVF::SVFMetadataAsValue::SVFMetadataAsValue</a></div><div class="ttdeci">SVFMetadataAsValue(const std::string &amp;other, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01007">SVFValue.h:1007</a></div></div>
312
+ <div class="ttc" id="classSVF_1_1GraphPrinter_html"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html">SVF::GraphPrinter</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00044">GraphPrinter.h:44</a></div></div>
313
+ <div class="ttc" id="classSVF_1_1SVFConstantData_html_a69777730832b61b6503f05ce80af65c3"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#a69777730832b61b6503f05ce80af65c3">SVF::SVFConstantData::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00864">SVFValue.h:864</a></div></div>
314
+ <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_a971ae595fc62da1e4fc49b675c54dee4"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#a971ae595fc62da1e4fc49b675c54dee4">SVF::SVFMetadataAsValue::SVFMetadataAsValue</a></div><div class="ttdeci">SVFMetadataAsValue(const std::string &amp;other, const SVFType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00998">SVFValue.h:998</a></div></div>
316
315
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_abe37f8896e2491a7a60be3fbfde8123c"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#abe37f8896e2491a7a60be3fbfde8123c">SVF::SVFLoopAndDomInfo::hasLoopInfo</a></div><div class="ttdeci">bool hasLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00080">SVFValue.h:80</a></div></div>
317
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_acb3ada4f28d5acd73474e9f626dfd7b7"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7">SVF::SVFBasicBlock::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00491">SVFValue.h:491</a></div></div>
316
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_acb3ada4f28d5acd73474e9f626dfd7b7"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#acb3ada4f28d5acd73474e9f626dfd7b7">SVF::SVFBasicBlock::fun</a></div><div class="ttdeci">const SVFFunction * fun</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00482">SVFValue.h:482</a></div></div>
318
317
  <div class="ttc" id="classSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00235">SVFType.h:235</a></div></div>
319
318
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a0fb893485fc3df088d921762514faf66"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a0fb893485fc3df088d921762514faf66">SVF::SVFLoopAndDomInfo::getLoopInfo</a></div><div class="ttdeci">const LoopBBs &amp; getLoopInfo(const SVFBasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00027">SVFValue.cpp:27</a></div></div>
320
- <div class="ttc" id="classSVF_1_1CallSite_html_a3de20fdb58def4ea6af2d635f0d2e730"><div class="ttname"><a href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">SVF::CallSite::CB</a></div><div class="ttdeci">const SVFCallInst * CB</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01026">SVFValue.h:1026</a></div></div>
321
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00485">SVFValue.h:485</a></div></div>
322
- <div class="ttc" id="classSVF_1_1SVFFunction_html_af1c181322926639bd99bbe58a8df70ab"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab">SVF::SVFFunction::setDefFunForMultipleModule</a></div><div class="ttdeci">void setDefFunForMultipleModule(const SVFFunction *deffun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00312">SVFValue.h:312</a></div></div>
319
+ <div class="ttc" id="classSVF_1_1CallSite_html_a3de20fdb58def4ea6af2d635f0d2e730"><div class="ttname"><a href="classSVF_1_1CallSite.html#a3de20fdb58def4ea6af2d635f0d2e730">SVF::CallSite::CB</a></div><div class="ttdeci">const SVFCallInst * CB</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01017">SVFValue.h:1017</a></div></div>
320
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt;::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00476">SVFValue.h:476</a></div></div>
321
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_af1c181322926639bd99bbe58a8df70ab"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#af1c181322926639bd99bbe58a8df70ab">SVF::SVFFunction::setDefFunForMultipleModule</a></div><div class="ttdeci">void setDefFunForMultipleModule(const SVFFunction *deffun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00303">SVFValue.h:303</a></div></div>
323
322
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a34296b98ee8dd1bfc0b1ae7fe327cde3"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a34296b98ee8dd1bfc0b1ae7fe327cde3">SVF::SVFLoopAndDomInfo::dtBBsMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; dtBBsMap</div><div class="ttdoc">map a BasicBlock to BasicBlocks it Dominates </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00059">SVFValue.h:59</a></div></div>
324
323
  <div class="ttc" id="namespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00053">SVFType.h:53</a></div></div>
325
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a0d5031bd11b6372803082111ec2cb4f6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">SVF::SVFFunction::addBasicBlock</a></div><div class="ttdeci">void addBasicBlock(const SVFBasicBlock *bb)</div><div class="ttdoc">all formal arguments of this function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00292">SVFValue.h:292</a></div></div>
326
- <div class="ttc" id="classSVF_1_1SVFValue_html_a88b280a4377ee8e7c633bfa963cc45fd"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd">SVF::SVFValue::sourceLoc</a></div><div class="ttdeci">std::string sourceLoc</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00183">SVFValue.h:183</a></div></div>
327
- <div class="ttc" id="classSVF_1_1SVFValue_html_acb5d0311477899abb4c222cd44376c73"><div class="ttname"><a href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73">SVF::SVFValue::isblackHole</a></div><div class="ttdeci">bool isblackHole() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00232">SVFValue.h:232</a></div></div>
324
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a0d5031bd11b6372803082111ec2cb4f6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">SVF::SVFFunction::addBasicBlock</a></div><div class="ttdeci">void addBasicBlock(const SVFBasicBlock *bb)</div><div class="ttdoc">all formal arguments of this function </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00283">SVFValue.h:283</a></div></div>
325
+ <div class="ttc" id="classSVF_1_1SVFValue_html_a88b280a4377ee8e7c633bfa963cc45fd"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a88b280a4377ee8e7c633bfa963cc45fd">SVF::SVFValue::sourceLoc</a></div><div class="ttdeci">std::string sourceLoc</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00182">SVFValue.h:182</a></div></div>
326
+ <div class="ttc" id="classSVF_1_1SVFValue_html_acb5d0311477899abb4c222cd44376c73"><div class="ttname"><a href="classSVF_1_1SVFValue.html#acb5d0311477899abb4c222cd44376c73">SVF::SVFValue::isblackHole</a></div><div class="ttdeci">bool isblackHole() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00227">SVFValue.h:227</a></div></div>
328
327
  <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="SVFType_8h_source.html#l00049">SVFType.h:49</a></div></div>
329
328
  <div class="ttc" id="Casting_8h_html"><div class="ttname"><a href="Casting_8h.html">Casting.h</a></div></div>
330
- <div class="ttc" id="classSVF_1_1CallSite_html_ac68071f8f021087b9e1ec6f3956555e0"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0">SVF::CallSite::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01068">SVFValue.h:1068</a></div></div>
331
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a2f274c3af098ae6a5919246b1b88e7b7"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">SVF::SVFFunction::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00403">SVFValue.h:403</a></div></div>
332
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a804a41f4eb078586f20f7d5755ea6fdd"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd">SVF::SVFFunction::getDefFunForMultipleModule</a></div><div class="ttdeci">const SVFFunction * getDefFunForMultipleModule() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00360">SVFValue.h:360</a></div></div>
333
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ab9e1aeffeddda2626cb9330d59631d5b"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b">SVF::SVFInstruction::InstVec</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt; InstVec</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00582">SVFValue.h:582</a></div></div>
329
+ <div class="ttc" id="classSVF_1_1CallSite_html_ac68071f8f021087b9e1ec6f3956555e0"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac68071f8f021087b9e1ec6f3956555e0">SVF::CallSite::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01059">SVFValue.h:1059</a></div></div>
330
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a2f274c3af098ae6a5919246b1b88e7b7"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2f274c3af098ae6a5919246b1b88e7b7">SVF::SVFFunction::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00394">SVFValue.h:394</a></div></div>
331
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a804a41f4eb078586f20f7d5755ea6fdd"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a804a41f4eb078586f20f7d5755ea6fdd">SVF::SVFFunction::getDefFunForMultipleModule</a></div><div class="ttdeci">const SVFFunction * getDefFunForMultipleModule() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00351">SVFValue.h:351</a></div></div>
332
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ab9e1aeffeddda2626cb9330d59631d5b"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ab9e1aeffeddda2626cb9330d59631d5b">SVF::SVFInstruction::InstVec</a></div><div class="ttdeci">std::vector&lt; const SVFInstruction * &gt; InstVec</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00573">SVFValue.h:573</a></div></div>
334
333
  <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>
335
334
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ae191915ae746e30c8370ebf8fe733723"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ae191915ae746e30c8370ebf8fe733723">SVF::SVFLoopAndDomInfo::dfBBsMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; dfBBsMap</div><div class="ttdoc">map a BasicBlock to its Dominate Frontier BasicBlocks </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00061">SVFValue.h:61</a></div></div>
336
- <div class="ttc" id="classSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00924">SVFValue.h:924</a></div></div>
335
+ <div class="ttc" id="classSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00915">SVFValue.h:915</a></div></div>
337
336
  <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="SVFValue_8h_source.html#l00162">SVFValue.h:162</a></div></div>
338
- <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="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00041">SVFValue.h:41</a></div></div>
339
- <div class="ttc" id="classSVF_1_1CallSite_html_ac6f4bb7468ce33ba123ee67e49395fd2"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2">SVF::CallSite::getCalledValue</a></div><div class="ttdeci">const SVFValue * getCalledValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01064">SVFValue.h:1064</a></div></div>
340
- <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html">SVF::SVFBlackHoleValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00968">SVFValue.h:968</a></div></div>
341
- <div class="ttc" id="classSVF_1_1SVFValue_html_afe3fb992ad104c32520172ebd92c2588"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afe3fb992ad104c32520172ebd92c2588">SVF::SVFValue::setHasName</a></div><div class="ttdeci">void setHasName()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00200">SVFValue.h:200</a></div></div>
342
- <div class="ttc" id="classSVF_1_1SVFConstantData_html_aaa93a599c1e8fee16aa6844cf64b8f5d"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d">SVF::SVFConstantData::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00881">SVFValue.h:881</a></div></div>
337
+ <div class="ttc" id="classSVF_1_1CallSite_html_ac6f4bb7468ce33ba123ee67e49395fd2"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac6f4bb7468ce33ba123ee67e49395fd2">SVF::CallSite::getCalledValue</a></div><div class="ttdeci">const SVFValue * getCalledValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01055">SVFValue.h:1055</a></div></div>
338
+ <div class="ttc" id="classSVF_1_1SVFBlackHoleValue_html"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html">SVF::SVFBlackHoleValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00959">SVFValue.h:959</a></div></div>
339
+ <div class="ttc" id="classSVF_1_1SVFConstantData_html_aaa93a599c1e8fee16aa6844cf64b8f5d"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html#aaa93a599c1e8fee16aa6844cf64b8f5d">SVF::SVFConstantData::classof</a></div><div class="ttdeci">static bool classof(const SVFConstantData *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00872">SVFValue.h:872</a></div></div>
343
340
  <div class="ttc" id="namespaceSVF_html_a366625858f450a1ea5f985a3c83e0f14"><div class="ttname"><a href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">SVF::u64_t</a></div><div class="ttdeci">unsigned long long u64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
344
341
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a3fa100cdc0841b77ee14d35b78632b72"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a3fa100cdc0841b77ee14d35b78632b72">SVF::SVFLoopAndDomInfo::getDomFrontierMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, BBSet &gt; &amp; getDomFrontierMap()</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00075">SVFValue.h:75</a></div></div>
345
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac1b15d8f9c2499add8dbc889ae5cab65"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">SVF::SVFBasicBlock::addInstruction</a></div><div class="ttdeci">void addInstruction(const SVFInstruction *inst)</div><div class="ttdoc">Function where this BasicBlock is. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00495">SVFValue.h:495</a></div></div>
346
- <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_a3d62d0b7b89b3bf509b3efaa1a855221"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221">SVF::SVFMetadataAsValue::classof</a></div><div class="ttdeci">static bool classof(const SVFOtherValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01016">SVFValue.h:1016</a></div></div>
342
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac1b15d8f9c2499add8dbc889ae5cab65"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">SVF::SVFBasicBlock::addInstruction</a></div><div class="ttdeci">void addInstruction(const SVFInstruction *inst)</div><div class="ttdoc">Function where this BasicBlock is. </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00486">SVFValue.h:486</a></div></div>
343
+ <div class="ttc" id="classSVF_1_1SVFMetadataAsValue_html_a3d62d0b7b89b3bf509b3efaa1a855221"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html#a3d62d0b7b89b3bf509b3efaa1a855221">SVF::SVFMetadataAsValue::classof</a></div><div class="ttdeci">static bool classof(const SVFOtherValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01007">SVFValue.h:1007</a></div></div>
347
344
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_ad578beedd9a6b64a57f82d799e6b8fa7"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad578beedd9a6b64a57f82d799e6b8fa7">SVF::SVFLoopAndDomInfo::bb2LoopMap</a></div><div class="ttdeci">Map&lt; const SVFBasicBlock *, LoopBBs &gt; bb2LoopMap</div><div class="ttdoc">map a BasicBlock (if it is in a loop) to all the BasicBlocks in this loop </div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00062">SVFValue.h:62</a></div></div>
348
- <div class="ttc" id="classSVF_1_1SVFInstruction_html_ade4a9596b2c288f2f74ce813d21fcaa0"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0">SVF::SVFInstruction::bb</a></div><div class="ttdeci">const SVFBasicBlock * bb</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00585">SVFValue.h:585</a></div></div>
349
- <div class="ttc" id="classSVF_1_1SVFFunction_html_aefde3a0671e34541a4ad5d7a6dfaa5d1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">SVF::SVFFunction::loopAndDom</a></div><div class="ttdeci">SVFLoopAndDomInfo * loopAndDom</div><div class="ttdoc">FunctionType, which is different from the type (PointerType) of this SVFFunction. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00284">SVFValue.h:284</a></div></div>
345
+ <div class="ttc" id="classSVF_1_1SVFInstruction_html_ade4a9596b2c288f2f74ce813d21fcaa0"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html#ade4a9596b2c288f2f74ce813d21fcaa0">SVF::SVFInstruction::bb</a></div><div class="ttdeci">const SVFBasicBlock * bb</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00576">SVFValue.h:576</a></div></div>
346
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_aefde3a0671e34541a4ad5d7a6dfaa5d1"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aefde3a0671e34541a4ad5d7a6dfaa5d1">SVF::SVFFunction::loopAndDom</a></div><div class="ttdeci">SVFLoopAndDomInfo * loopAndDom</div><div class="ttdoc">FunctionType, which is different from the type (PointerType) of this SVFFunction. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00275">SVFValue.h:275</a></div></div>
350
347
  <div class="ttc" id="classSVF_1_1SVFFunctionType_html_a74ce115a0fa958f259469b521468a2b3"><div class="ttname"><a href="classSVF_1_1SVFFunctionType.html#a74ce115a0fa958f259469b521468a2b3">SVF::SVFFunctionType::getReturnType</a></div><div class="ttdeci">const SVFType * getReturnType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00360">SVFType.h:360</a></div></div>
351
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a099203980699464e1fbe5e37f2eb891f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f">SVF::SVFFunction::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00324">SVFValue.h:324</a></div></div>
352
- <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00560">SVFValue.h:560</a></div></div>
353
- <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_aa3331b344db3eb233d01ca4ee4bb5b01"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01">SVF::SVFGlobalValue::getDefGlobalForMultipleModule</a></div><div class="ttdeci">const SVFValue * getDefGlobalForMultipleModule() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00812">SVFValue.h:812</a></div></div>
348
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a099203980699464e1fbe5e37f2eb891f"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a099203980699464e1fbe5e37f2eb891f">SVF::SVFFunction::classof</a></div><div class="ttdeci">static bool classof(const SVFValue *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00315">SVFValue.h:315</a></div></div>
349
+ <div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const SVFBasicBlock * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00551">SVFValue.h:551</a></div></div>
350
+ <div class="ttc" id="classSVF_1_1SVFGlobalValue_html_aa3331b344db3eb233d01ca4ee4bb5b01"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html#aa3331b344db3eb233d01ca4ee4bb5b01">SVF::SVFGlobalValue::getDefGlobalForMultipleModule</a></div><div class="ttdeci">const SVFValue * getDefGlobalForMultipleModule() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00803">SVFValue.h:803</a></div></div>
354
351
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860eacb5f1f872986a8f8bccd9a3b3904e9dd">SVF::SVFValue::SVFInst</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00159">SVFValue.h:159</a></div></div>
355
352
  <div class="ttc" id="classSVF_1_1SVFLoopAndDomInfo_html_a33b96ce50eb1d3caab2b20c19a60b2cc"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#a33b96ce50eb1d3caab2b20c19a60b2cc">SVF::SVFLoopAndDomInfo::BBList</a></div><div class="ttdeci">std::vector&lt; const SVFBasicBlock * &gt; BBList</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00054">SVFValue.h:54</a></div></div>
356
353
  </div><!-- fragment --></div><!-- contents -->