svf-tools 1.0.809 → 1.0.810

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 (473) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/Andersen_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +6 -6
  6. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  7. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
  9. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +6 -6
  10. package/SVF-doxygen/html/CFLAlias_8h_source.html +1 -1
  11. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +13 -13
  12. package/SVF-doxygen/html/CHG_8cpp.html +4 -4
  13. package/SVF-doxygen/html/CHG_8cpp_source.html +10 -10
  14. package/SVF-doxygen/html/CHG_8h_source.html +2 -2
  15. package/SVF-doxygen/html/CallGraphBuilder_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/CxtStmt_8h_source.html +2 -2
  19. package/SVF-doxygen/html/DCHG_8cpp_source.html +8 -8
  20. package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
  21. package/SVF-doxygen/html/DDAClient_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +7 -7
  25. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +4 -4
  26. package/SVF-doxygen/html/ICFGEdge_8h_source.html +5 -5
  27. package/SVF-doxygen/html/ICFGNode_8h_source.html +12 -12
  28. package/SVF-doxygen/html/ICFG_8cpp_source.html +550 -543
  29. package/SVF-doxygen/html/ICFG_8h_source.html +19 -19
  30. package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +1160 -1147
  33. package/SVF-doxygen/html/LLVMModule_8h_source.html +29 -29
  34. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +1160 -1150
  35. package/SVF-doxygen/html/LLVMUtil_8h.html +3 -0
  36. package/SVF-doxygen/html/LLVMUtil_8h_source.html +350 -347
  37. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +3 -3
  38. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +14 -14
  39. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  40. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +4 -4
  41. package/SVF-doxygen/html/LockResultValidator_8h_source.html +1 -1
  42. package/SVF-doxygen/html/MHP_8cpp_source.html +12 -12
  43. package/SVF-doxygen/html/MHP_8h_source.html +3 -3
  44. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
  45. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  46. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  47. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +1 -1
  48. package/SVF-doxygen/html/MTAStat_8cpp_source.html +5 -5
  49. package/SVF-doxygen/html/MTA_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/MemRegion_8cpp_source.html +10 -10
  51. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  52. package/SVF-doxygen/html/MemSSA_8cpp_source.html +20 -20
  53. package/SVF-doxygen/html/MemSSA_8h_source.html +1 -1
  54. package/SVF-doxygen/html/PCG_8cpp_source.html +10 -10
  55. package/SVF-doxygen/html/PCG_8h_source.html +3 -3
  56. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +14 -14
  58. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  59. package/SVF-doxygen/html/ProgSlice_8h_source.html +1 -1
  60. package/SVF-doxygen/html/SVFBugReport_8h_source.html +2 -2
  61. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +17 -17
  62. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +15 -15
  63. package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
  64. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
  65. package/SVF-doxygen/html/SVFG_8cpp_source.html +6 -6
  66. package/SVF-doxygen/html/SVFG_8h_source.html +4 -4
  67. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +3 -3
  69. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +23 -23
  70. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +4 -4
  71. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +8 -8
  72. package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/SVFIR_8h_source.html +2 -2
  74. package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
  75. package/SVF-doxygen/html/SVFModule_8h_source.html +3 -3
  76. package/SVF-doxygen/html/SVFStat_8cpp_source.html +4 -4
  77. package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/SVFStatements_8h_source.html +2 -2
  79. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +6 -6
  80. package/SVF-doxygen/html/SVFUtil_8h_source.html +6 -6
  81. package/SVF-doxygen/html/SVFValue_8cpp_source.html +126 -117
  82. package/SVF-doxygen/html/SVFValue_8h_source.html +1010 -1002
  83. package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
  84. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  85. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +14 -14
  86. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +5 -5
  87. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  88. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +4 -4
  89. package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
  90. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +17 -17
  91. package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
  92. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  93. package/SVF-doxygen/html/TCT_8cpp_source.html +14 -14
  94. package/SVF-doxygen/html/TCT_8h_source.html +7 -7
  95. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +7 -7
  96. package/SVF-doxygen/html/ThreadAPI_8h_source.html +4 -4
  97. package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
  98. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +4 -4
  99. package/SVF-doxygen/html/VFGNode_8h_source.html +1 -1
  100. package/SVF-doxygen/html/VFG_8cpp_source.html +3 -3
  101. package/SVF-doxygen/html/VFG_8h_source.html +4 -4
  102. package/SVF-doxygen/html/WPAPass_8cpp_source.html +3 -3
  103. package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
  104. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +2 -2
  105. package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  106. package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  107. package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
  108. package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
  109. package/SVF-doxygen/html/classSVF_1_1Andersen.html +6 -6
  110. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  112. package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
  113. package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
  115. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +6 -6
  116. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +8 -8
  117. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +13 -13
  118. package/SVF-doxygen/html/classSVF_1_1CHGraph.html +7 -7
  119. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +9 -9
  120. package/SVF-doxygen/html/classSVF_1_1CallCHI.html +1 -1
  121. package/SVF-doxygen/html/classSVF_1_1CallGraphBuilder.html +3 -3
  122. package/SVF-doxygen/html/classSVF_1_1CallICFGNode.html +12 -12
  123. package/SVF-doxygen/html/classSVF_1_1CallMU.html +1 -1
  124. package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
  125. package/SVF-doxygen/html/classSVF_1_1CallSite.html +95 -95
  126. package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
  127. package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
  128. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +1 -1
  129. package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
  130. package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
  131. package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
  132. package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
  133. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +7 -7
  134. package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  135. package/SVF-doxygen/html/classSVF_1_1ExtAPI.html +1 -1
  136. package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
  137. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
  138. package/SVF-doxygen/html/classSVF_1_1FunEntryICFGNode.html +16 -16
  139. package/SVF-doxygen/html/classSVF_1_1FunExitICFGNode.html +28 -20
  140. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +2 -2
  141. package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
  142. package/SVF-doxygen/html/classSVF_1_1GepStmt.html +1 -1
  143. package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
  144. package/SVF-doxygen/html/classSVF_1_1GlobalICFGNode.html +9 -9
  145. package/SVF-doxygen/html/classSVF_1_1ICFG.html +271 -271
  146. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +17 -17
  147. package/SVF-doxygen/html/classSVF_1_1ICFGEdge.html +7 -7
  148. package/SVF-doxygen/html/classSVF_1_1ICFGNode.html +12 -12
  149. package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  150. package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  151. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +12 -12
  152. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +15 -15
  153. package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  155. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +1075 -1061
  156. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +4 -4
  157. package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
  158. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +13 -13
  159. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +4 -4
  160. package/SVF-doxygen/html/classSVF_1_1MHP.html +12 -12
  161. package/SVF-doxygen/html/classSVF_1_1MHPValidator.html +1 -1
  162. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +10 -10
  163. package/SVF-doxygen/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  164. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  165. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +2 -2
  166. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  167. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +5 -5
  168. package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
  169. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +19 -19
  170. package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
  171. package/SVF-doxygen/html/classSVF_1_1PCG.html +11 -11
  172. package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
  173. package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
  174. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +13 -13
  175. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  176. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  177. package/SVF-doxygen/html/classSVF_1_1RaceValidator.html +1 -1
  178. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +9 -9
  179. package/SVF-doxygen/html/classSVF_1_1RetICFGNode.html +12 -12
  180. package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
  181. package/SVF-doxygen/html/classSVF_1_1SVFArgument.html +30 -30
  182. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock-members.html +18 -17
  183. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +162 -136
  184. package/SVF-doxygen/html/classSVF_1_1SVFBlackHoleValue.html +15 -15
  185. package/SVF-doxygen/html/classSVF_1_1SVFBugEvent.html +1 -1
  186. package/SVF-doxygen/html/classSVF_1_1SVFCallInst.html +67 -67
  187. package/SVF-doxygen/html/classSVF_1_1SVFConstant.html +17 -17
  188. package/SVF-doxygen/html/classSVF_1_1SVFConstantData.html +23 -23
  189. package/SVF-doxygen/html/classSVF_1_1SVFConstantFP.html +21 -21
  190. package/SVF-doxygen/html/classSVF_1_1SVFConstantInt.html +27 -27
  191. package/SVF-doxygen/html/classSVF_1_1SVFConstantNullPtr.html +15 -15
  192. package/SVF-doxygen/html/classSVF_1_1SVFFunction-members.html +52 -50
  193. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +236 -176
  194. package/SVF-doxygen/html/classSVF_1_1SVFG.html +7 -7
  195. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  196. package/SVF-doxygen/html/classSVF_1_1SVFGlobalValue.html +33 -33
  197. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +3 -3
  198. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +3 -3
  199. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +3 -3
  200. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +39 -39
  201. package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +57 -57
  202. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +3 -3
  203. package/SVF-doxygen/html/classSVF_1_1SVFMetadataAsValue.html +15 -15
  204. package/SVF-doxygen/html/classSVF_1_1SVFModule.html +1 -1
  205. package/SVF-doxygen/html/classSVF_1_1SVFOtherValue.html +11 -11
  206. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +4 -4
  207. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
  208. package/SVF-doxygen/html/classSVF_1_1SVFVirtualCallInst.html +53 -53
  209. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
  210. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  211. package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
  212. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +6 -6
  213. package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
  214. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +17 -17
  215. package/SVF-doxygen/html/classSVF_1_1TCT.html +15 -15
  216. package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
  217. package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
  218. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +7 -7
  219. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
  220. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  221. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +4 -4
  222. package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
  223. package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  224. package/SVF-doxygen/html/classSVF_1_1VFG.html +5 -5
  225. package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
  226. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +2 -2
  227. package/SVF-doxygen/html/functions_b.html +3 -3
  228. package/SVF-doxygen/html/functions_e.html +3 -0
  229. package/SVF-doxygen/html/functions_func_i.html +3 -3
  230. package/SVF-doxygen/html/functions_func_p.html +1 -1
  231. package/SVF-doxygen/html/functions_func_s.html +22 -19
  232. package/SVF-doxygen/html/functions_i.html +1 -1
  233. package/SVF-doxygen/html/functions_l.html +3 -3
  234. package/SVF-doxygen/html/functions_o.html +15 -15
  235. package/SVF-doxygen/html/functions_p.html +9 -9
  236. package/SVF-doxygen/html/functions_r.html +4 -6
  237. package/SVF-doxygen/html/functions_rela_s.html +3 -0
  238. package/SVF-doxygen/html/functions_s.html +26 -20
  239. package/SVF-doxygen/html/functions_t.html +4 -4
  240. package/SVF-doxygen/html/functions_v.html +3 -3
  241. package/SVF-doxygen/html/functions_vars_e.html +3 -0
  242. package/SVF-doxygen/html/namespaceSVF.html +5 -5
  243. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1199 -1165
  244. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +5 -5
  245. package/SVF-doxygen/html/namespacemembers_b.html +4 -1
  246. package/SVF-doxygen/html/namespacemembers_func_b.html +4 -1
  247. package/SVF-doxygen/html/search/all_10.js +324 -324
  248. package/SVF-doxygen/html/search/all_11.js +222 -222
  249. package/SVF-doxygen/html/search/all_12.js +544 -543
  250. package/SVF-doxygen/html/search/all_13.js +191 -191
  251. package/SVF-doxygen/html/search/all_14.js +67 -67
  252. package/SVF-doxygen/html/search/all_15.js +169 -169
  253. package/SVF-doxygen/html/search/all_16.js +63 -63
  254. package/SVF-doxygen/html/search/all_17.js +1 -1
  255. package/SVF-doxygen/html/search/all_18.js +1 -1
  256. package/SVF-doxygen/html/search/all_19.js +11 -11
  257. package/SVF-doxygen/html/search/all_1a.js +172 -172
  258. package/SVF-doxygen/html/search/all_2.js +139 -138
  259. package/SVF-doxygen/html/search/all_3.js +642 -642
  260. package/SVF-doxygen/html/search/all_4.js +233 -233
  261. package/SVF-doxygen/html/search/all_5.js +119 -118
  262. package/SVF-doxygen/html/search/all_6.js +225 -225
  263. package/SVF-doxygen/html/search/all_7.js +1041 -1041
  264. package/SVF-doxygen/html/search/all_8.js +196 -196
  265. package/SVF-doxygen/html/search/all_9.js +613 -613
  266. package/SVF-doxygen/html/search/all_a.js +46 -46
  267. package/SVF-doxygen/html/search/all_b.js +26 -26
  268. package/SVF-doxygen/html/search/all_c.js +116 -116
  269. package/SVF-doxygen/html/search/all_d.js +196 -196
  270. package/SVF-doxygen/html/search/all_e.js +207 -207
  271. package/SVF-doxygen/html/search/all_f.js +116 -116
  272. package/SVF-doxygen/html/search/classes_0.js +26 -26
  273. package/SVF-doxygen/html/search/classes_1.js +9 -9
  274. package/SVF-doxygen/html/search/classes_10.js +73 -73
  275. package/SVF-doxygen/html/search/classes_11.js +15 -15
  276. package/SVF-doxygen/html/search/classes_12.js +2 -2
  277. package/SVF-doxygen/html/search/classes_13.js +10 -10
  278. package/SVF-doxygen/html/search/classes_14.js +14 -14
  279. package/SVF-doxygen/html/search/classes_15.js +1 -1
  280. package/SVF-doxygen/html/search/classes_2.js +80 -80
  281. package/SVF-doxygen/html/search/classes_3.js +37 -37
  282. package/SVF-doxygen/html/search/classes_4.js +9 -9
  283. package/SVF-doxygen/html/search/classes_5.js +28 -28
  284. package/SVF-doxygen/html/search/classes_6.js +104 -104
  285. package/SVF-doxygen/html/search/classes_7.js +33 -33
  286. package/SVF-doxygen/html/search/classes_8.js +56 -56
  287. package/SVF-doxygen/html/search/classes_9.js +1 -1
  288. package/SVF-doxygen/html/search/classes_a.js +12 -12
  289. package/SVF-doxygen/html/search/classes_b.js +29 -29
  290. package/SVF-doxygen/html/search/classes_c.js +6 -6
  291. package/SVF-doxygen/html/search/classes_d.js +18 -18
  292. package/SVF-doxygen/html/search/classes_e.js +36 -36
  293. package/SVF-doxygen/html/search/classes_f.js +25 -25
  294. package/SVF-doxygen/html/search/defines_0.js +3 -3
  295. package/SVF-doxygen/html/search/defines_1.js +2 -2
  296. package/SVF-doxygen/html/search/defines_2.js +30 -30
  297. package/SVF-doxygen/html/search/defines_3.js +21 -21
  298. package/SVF-doxygen/html/search/defines_4.js +2 -2
  299. package/SVF-doxygen/html/search/defines_5.js +4 -4
  300. package/SVF-doxygen/html/search/defines_6.js +2 -2
  301. package/SVF-doxygen/html/search/defines_7.js +5 -5
  302. package/SVF-doxygen/html/search/defines_8.js +11 -11
  303. package/SVF-doxygen/html/search/defines_9.js +9 -9
  304. package/SVF-doxygen/html/search/defines_a.js +2 -2
  305. package/SVF-doxygen/html/search/defines_b.js +1 -1
  306. package/SVF-doxygen/html/search/defines_c.js +3 -3
  307. package/SVF-doxygen/html/search/defines_d.js +2 -2
  308. package/SVF-doxygen/html/search/defines_e.js +7 -7
  309. package/SVF-doxygen/html/search/defines_f.js +3 -3
  310. package/SVF-doxygen/html/search/enums_0.js +3 -3
  311. package/SVF-doxygen/html/search/enums_1.js +2 -2
  312. package/SVF-doxygen/html/search/enums_10.js +1 -1
  313. package/SVF-doxygen/html/search/enums_11.js +1 -1
  314. package/SVF-doxygen/html/search/enums_2.js +8 -8
  315. package/SVF-doxygen/html/search/enums_3.js +1 -1
  316. package/SVF-doxygen/html/search/enums_4.js +3 -3
  317. package/SVF-doxygen/html/search/enums_5.js +1 -1
  318. package/SVF-doxygen/html/search/enums_6.js +2 -2
  319. package/SVF-doxygen/html/search/enums_7.js +2 -2
  320. package/SVF-doxygen/html/search/enums_8.js +4 -4
  321. package/SVF-doxygen/html/search/enums_9.js +1 -1
  322. package/SVF-doxygen/html/search/enums_a.js +1 -1
  323. package/SVF-doxygen/html/search/enums_b.js +7 -7
  324. package/SVF-doxygen/html/search/enums_c.js +1 -1
  325. package/SVF-doxygen/html/search/enums_d.js +4 -4
  326. package/SVF-doxygen/html/search/enums_e.js +2 -2
  327. package/SVF-doxygen/html/search/enums_f.js +4 -4
  328. package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
  329. package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
  330. package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
  331. package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
  332. package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
  333. package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
  334. package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
  335. package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
  336. package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
  337. package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
  338. package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
  339. package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
  340. package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
  341. package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
  342. package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
  343. package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
  344. package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
  345. package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
  346. package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
  347. package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
  348. package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
  349. package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
  350. package/SVF-doxygen/html/search/files_0.js +13 -13
  351. package/SVF-doxygen/html/search/files_1.js +7 -7
  352. package/SVF-doxygen/html/search/files_10.js +8 -8
  353. package/SVF-doxygen/html/search/files_11.js +8 -8
  354. package/SVF-doxygen/html/search/files_12.js +2 -2
  355. package/SVF-doxygen/html/search/files_2.js +55 -55
  356. package/SVF-doxygen/html/search/files_3.js +14 -14
  357. package/SVF-doxygen/html/search/files_4.js +5 -5
  358. package/SVF-doxygen/html/search/files_5.js +13 -13
  359. package/SVF-doxygen/html/search/files_6.js +9 -9
  360. package/SVF-doxygen/html/search/files_7.js +14 -14
  361. package/SVF-doxygen/html/search/files_8.js +13 -13
  362. package/SVF-doxygen/html/search/files_9.js +18 -18
  363. package/SVF-doxygen/html/search/files_a.js +3 -3
  364. package/SVF-doxygen/html/search/files_b.js +2 -2
  365. package/SVF-doxygen/html/search/files_c.js +20 -20
  366. package/SVF-doxygen/html/search/files_d.js +4 -4
  367. package/SVF-doxygen/html/search/files_e.js +62 -62
  368. package/SVF-doxygen/html/search/files_f.js +8 -8
  369. package/SVF-doxygen/html/search/functions_0.js +12 -12
  370. package/SVF-doxygen/html/search/functions_1.js +360 -360
  371. package/SVF-doxygen/html/search/functions_10.js +140 -140
  372. package/SVF-doxygen/html/search/functions_11.js +138 -138
  373. package/SVF-doxygen/html/search/functions_12.js +279 -278
  374. package/SVF-doxygen/html/search/functions_13.js +59 -59
  375. package/SVF-doxygen/html/search/functions_14.js +39 -39
  376. package/SVF-doxygen/html/search/functions_15.js +71 -71
  377. package/SVF-doxygen/html/search/functions_16.js +32 -32
  378. package/SVF-doxygen/html/search/functions_17.js +3 -3
  379. package/SVF-doxygen/html/search/functions_18.js +172 -172
  380. package/SVF-doxygen/html/search/functions_2.js +87 -86
  381. package/SVF-doxygen/html/search/functions_3.js +257 -257
  382. package/SVF-doxygen/html/search/functions_4.js +75 -75
  383. package/SVF-doxygen/html/search/functions_5.js +53 -53
  384. package/SVF-doxygen/html/search/functions_6.js +59 -59
  385. package/SVF-doxygen/html/search/functions_7.js +852 -852
  386. package/SVF-doxygen/html/search/functions_8.js +148 -148
  387. package/SVF-doxygen/html/search/functions_9.js +429 -429
  388. package/SVF-doxygen/html/search/functions_a.js +30 -30
  389. package/SVF-doxygen/html/search/functions_b.js +2 -2
  390. package/SVF-doxygen/html/search/functions_c.js +26 -26
  391. package/SVF-doxygen/html/search/functions_d.js +77 -77
  392. package/SVF-doxygen/html/search/functions_e.js +35 -35
  393. package/SVF-doxygen/html/search/functions_f.js +56 -56
  394. package/SVF-doxygen/html/search/namespaces_0.js +1 -1
  395. package/SVF-doxygen/html/search/namespaces_1.js +7 -7
  396. package/SVF-doxygen/html/search/related_0.js +2 -2
  397. package/SVF-doxygen/html/search/related_1.js +2 -2
  398. package/SVF-doxygen/html/search/related_2.js +2 -2
  399. package/SVF-doxygen/html/search/related_3.js +2 -2
  400. package/SVF-doxygen/html/search/related_4.js +2 -2
  401. package/SVF-doxygen/html/search/related_5.js +1 -1
  402. package/SVF-doxygen/html/search/related_6.js +2 -2
  403. package/SVF-doxygen/html/search/related_7.js +4 -4
  404. package/SVF-doxygen/html/search/related_8.js +2 -2
  405. package/SVF-doxygen/html/search/related_9.js +4 -4
  406. package/SVF-doxygen/html/search/related_a.js +19 -19
  407. package/SVF-doxygen/html/search/related_b.js +4 -4
  408. package/SVF-doxygen/html/search/related_c.js +1 -1
  409. package/SVF-doxygen/html/search/related_d.js +12 -11
  410. package/SVF-doxygen/html/search/related_e.js +2 -2
  411. package/SVF-doxygen/html/search/related_f.js +2 -2
  412. package/SVF-doxygen/html/search/typedefs_0.js +18 -18
  413. package/SVF-doxygen/html/search/typedefs_1.js +26 -26
  414. package/SVF-doxygen/html/search/typedefs_10.js +61 -61
  415. package/SVF-doxygen/html/search/typedefs_11.js +13 -13
  416. package/SVF-doxygen/html/search/typedefs_12.js +11 -11
  417. package/SVF-doxygen/html/search/typedefs_13.js +34 -34
  418. package/SVF-doxygen/html/search/typedefs_14.js +8 -8
  419. package/SVF-doxygen/html/search/typedefs_2.js +129 -129
  420. package/SVF-doxygen/html/search/typedefs_3.js +39 -39
  421. package/SVF-doxygen/html/search/typedefs_4.js +17 -17
  422. package/SVF-doxygen/html/search/typedefs_5.js +41 -41
  423. package/SVF-doxygen/html/search/typedefs_6.js +55 -55
  424. package/SVF-doxygen/html/search/typedefs_7.js +44 -44
  425. package/SVF-doxygen/html/search/typedefs_8.js +1 -1
  426. package/SVF-doxygen/html/search/typedefs_9.js +6 -6
  427. package/SVF-doxygen/html/search/typedefs_a.js +29 -29
  428. package/SVF-doxygen/html/search/typedefs_b.js +29 -29
  429. package/SVF-doxygen/html/search/typedefs_c.js +41 -41
  430. package/SVF-doxygen/html/search/typedefs_d.js +14 -14
  431. package/SVF-doxygen/html/search/typedefs_e.js +52 -52
  432. package/SVF-doxygen/html/search/typedefs_f.js +14 -14
  433. package/SVF-doxygen/html/search/variables_0.js +151 -151
  434. package/SVF-doxygen/html/search/variables_1.js +75 -75
  435. package/SVF-doxygen/html/search/variables_10.js +97 -97
  436. package/SVF-doxygen/html/search/variables_11.js +44 -44
  437. package/SVF-doxygen/html/search/variables_12.js +92 -92
  438. package/SVF-doxygen/html/search/variables_13.js +75 -75
  439. package/SVF-doxygen/html/search/variables_14.js +14 -14
  440. package/SVF-doxygen/html/search/variables_15.js +48 -48
  441. package/SVF-doxygen/html/search/variables_16.js +9 -9
  442. package/SVF-doxygen/html/search/variables_17.js +1 -1
  443. package/SVF-doxygen/html/search/variables_18.js +2 -2
  444. package/SVF-doxygen/html/search/variables_2.js +38 -38
  445. package/SVF-doxygen/html/search/variables_3.js +142 -142
  446. package/SVF-doxygen/html/search/variables_4.js +55 -55
  447. package/SVF-doxygen/html/search/variables_5.js +37 -36
  448. package/SVF-doxygen/html/search/variables_6.js +66 -66
  449. package/SVF-doxygen/html/search/variables_7.js +33 -33
  450. package/SVF-doxygen/html/search/variables_8.js +7 -7
  451. package/SVF-doxygen/html/search/variables_9.js +77 -77
  452. package/SVF-doxygen/html/search/variables_a.js +4 -4
  453. package/SVF-doxygen/html/search/variables_b.js +10 -10
  454. package/SVF-doxygen/html/search/variables_c.js +45 -45
  455. package/SVF-doxygen/html/search/variables_d.js +56 -56
  456. package/SVF-doxygen/html/search/variables_e.js +123 -123
  457. package/SVF-doxygen/html/search/variables_f.js +30 -30
  458. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  459. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +82 -82
  460. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  461. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +7 -7
  462. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  463. package/SVF-doxygen/html/svf-ex_8cpp.html +2 -2
  464. package/SVF-doxygen/html/svf-ex_8cpp_source.html +2 -2
  465. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  466. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +2 -2
  467. package/package.json +1 -1
  468. package/svf/include/SVFIR/SVFValue.h +13 -2
  469. package/svf/lib/Graphs/ICFG.cpp +10 -4
  470. package/svf/lib/SVFIR/SVFValue.cpp +8 -1
  471. package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +3 -0
  472. package/svf-llvm/lib/LLVMModule.cpp +11 -0
  473. package/svf-llvm/lib/LLVMUtil.cpp +17 -5
@@ -544,10 +544,10 @@ Additional Inherited Members</h2></td></tr>
544
544
  <li>Build <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> 1) build <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> nodes statements for top level pointers (PAGEdges) 2) connect <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edges between two statements (PAGEdges) </li>
545
545
  </ul>
546
546
 
547
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00196">196</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
548
- <div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; : <a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>(0), <a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a>(<span class="keyword">nullptr</span>)</div>
549
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;{</div>
550
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div>
547
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00202">202</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
548
+ <div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; : <a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>(0), <a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a>(<span class="keyword">nullptr</span>)</div>
549
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;{</div>
550
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;}</div>
551
551
  </div><!-- fragment -->
552
552
  </div>
553
553
  </div>
@@ -576,23 +576,23 @@ Additional Inherited Members</h2></td></tr>
576
576
 
577
577
  <p>Destructor. </p>
578
578
 
579
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00200">200</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
580
- <div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;{</div>
581
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFLoop*&gt;</a> loops;</div>
582
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>)</div>
583
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
584
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;loop: it.second)</div>
585
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div>
586
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; loops.insert(loop);</div>
587
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
588
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; }</div>
589
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; </div>
590
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: loops)</div>
591
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
592
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keyword">delete</span> it;</div>
593
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
594
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>.clear();</div>
595
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;}</div>
579
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00206">206</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
580
+ <div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;{</div>
581
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;const SVFLoop*&gt;</a> loops;</div>
582
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>)</div>
583
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
584
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;loop: it.second)</div>
585
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {</div>
586
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; loops.insert(loop);</div>
587
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; }</div>
588
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; }</div>
589
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
590
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;it: loops)</div>
591
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div>
592
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keyword">delete</span> it;</div>
593
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; }</div>
594
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>.clear();</div>
595
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;}</div>
596
596
  </div><!-- fragment -->
597
597
  </div>
598
598
  </div>
@@ -674,20 +674,20 @@ Additional Inherited Members</h2></td></tr>
674
674
  </div><div class="memdoc">
675
675
  <p>Add interprocedural call edges between two nodes </p>
676
676
 
677
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00404">404</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
678
- <div class="fragment"><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160;{</div>
679
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode,dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">ICFGEdge::CallCF</a>);</div>
680
- <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
681
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; {</div>
682
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">isCallCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be a call CFG edge!&quot;</span>);</div>
683
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
684
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; }</div>
685
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">else</span></div>
686
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
687
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>(srcNode,dstNode,cs);</div>
688
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div>
689
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; }</div>
690
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160;}</div>
677
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00410">410</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
678
+ <div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;{</div>
679
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode,dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">ICFGEdge::CallCF</a>);</div>
680
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
681
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; {</div>
682
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">isCallCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be a call CFG edge!&quot;</span>);</div>
683
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
684
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div>
685
+ <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; <span class="keywordflow">else</span></div>
686
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; {</div>
687
+ <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>(srcNode,dstNode,cs);</div>
688
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div>
689
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div>
690
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;}</div>
691
691
  </div><!-- fragment -->
692
692
  </div>
693
693
  </div>
@@ -738,23 +738,23 @@ Additional Inherited Members</h2></td></tr>
738
738
  </div><div class="memdoc">
739
739
  <p>Add conditional intraprocedural edges between two nodes </p>
740
740
 
741
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00382">382</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
742
- <div class="fragment"><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;{</div>
743
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
744
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
745
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
746
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
747
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div>
748
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be an intra CFG edge!&quot;</span>);</div>
749
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
750
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
751
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">else</span></div>
752
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; {</div>
753
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
754
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; intraEdge-&gt;<a class="code" href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">setBranchCondition</a>(condition,branchCondVal);</div>
755
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
741
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00388">388</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
742
+ <div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160;{</div>
743
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; </div>
744
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
745
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
746
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
747
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div>
748
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be an intra CFG edge!&quot;</span>);</div>
749
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
756
750
  <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div>
757
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;}</div>
751
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">else</span></div>
752
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; {</div>
753
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
754
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; intraEdge-&gt;<a class="code" href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">setBranchCondition</a>(condition,branchCondVal);</div>
755
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
756
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; }</div>
757
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;}</div>
758
758
  </div><!-- fragment -->
759
759
  </div>
760
760
  </div>
@@ -998,21 +998,21 @@ Additional Inherited Members</h2></td></tr>
998
998
  <p>Add control-flow edges for top level pointers. </p>
999
999
  <p>Add intraprocedural edges between two nodes </p>
1000
1000
 
1001
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00363">363</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1002
- <div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;{</div>
1003
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
1004
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
1005
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
1006
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; {</div>
1007
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be an intra CFG edge!&quot;</span>);</div>
1008
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1009
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; }</div>
1010
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">else</span></div>
1011
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div>
1012
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
1013
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
1014
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div>
1015
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
1001
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00369">369</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1002
+ <div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160;{</div>
1003
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
1004
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
1005
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
1006
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; {</div>
1007
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be an intra CFG edge!&quot;</span>);</div>
1008
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1009
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
1010
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="keywordflow">else</span></div>
1011
+ <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; {</div>
1012
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
1013
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
1014
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; }</div>
1015
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160;}</div>
1016
1016
  </div><!-- fragment -->
1017
1017
  </div>
1018
1018
  </div>
@@ -1136,20 +1136,20 @@ Additional Inherited Members</h2></td></tr>
1136
1136
  </div><div class="memdoc">
1137
1137
  <p>Add interprocedural return edges between two nodes </p>
1138
1138
 
1139
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00422">422</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1140
- <div class="fragment"><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160;{</div>
1141
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429ad2370a77f6cc112b8c26efbcc36bf541">ICFGEdge::RetCF</a>);</div>
1142
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
1143
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; {</div>
1144
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">isRetCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be a return CFG edge!&quot;</span>);</div>
1145
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1146
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; }</div>
1147
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">else</span></div>
1148
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
1149
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>(srcNode,dstNode,cs);</div>
1150
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div>
1151
- <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
1152
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160;}</div>
1139
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00428">428</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1140
+ <div class="fragment"><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160;{</div>
1141
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429ad2370a77f6cc112b8c26efbcc36bf541">ICFGEdge::RetCF</a>);</div>
1142
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
1143
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; {</div>
1144
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; assert(edge-&gt;<a class="code" href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">isRetCFGEdge</a>() &amp;&amp; <span class="stringliteral">&quot;this should be a return CFG edge!&quot;</span>);</div>
1145
+ <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1146
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
1147
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">else</span></div>
1148
+ <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div>
1149
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>(srcNode,dstNode,cs);</div>
1150
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div>
1151
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
1152
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160;}</div>
1153
1153
  </div><!-- fragment -->
1154
1154
  </div>
1155
1155
  </div>
@@ -1230,10 +1230,10 @@ Additional Inherited Members</h2></td></tr>
1230
1230
  <p>Dump graph into dot file. </p>
1231
1231
  <p>Dump <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> </p>
1232
1232
 
1233
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00441">441</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1234
- <div class="fragment"><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160;{</div>
1235
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>(), file, <span class="keyword">this</span>, simple);</div>
1236
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160;}</div>
1233
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00447">447</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1234
+ <div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;{</div>
1235
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>(), file, <span class="keyword">this</span>, simple);</div>
1236
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;}</div>
1237
1237
  </div><!-- fragment -->
1238
1238
  </div>
1239
1239
  </div>
@@ -1287,18 +1287,18 @@ Additional Inherited Members</h2></td></tr>
1287
1287
  </table>
1288
1288
  </div><div class="memdoc">
1289
1289
 
1290
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00235">235</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1291
- <div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160;{</div>
1292
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) ==<span class="keyword">false</span>)</div>
1293
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1294
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;not a call instruction?&quot;</span>);</div>
1295
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;associating an intrinsic debug instruction with an ICFGNode!&quot;</span>);</div>
1296
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a1490b28446b9d8efee567ec02e2abcf3">getCallBlock</a>(inst);</div>
1297
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1298
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">addCallBlock</a>(inst);</div>
1299
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no CallICFGNode for this instruction?&quot;</span>);</div>
1300
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">return</span> node;</div>
1301
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160;}</div>
1290
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00241">241</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1291
+ <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div>
1292
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) ==<span class="keyword">false</span>)</div>
1293
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; inst-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1294
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;not a call instruction?&quot;</span>);</div>
1295
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;associating an intrinsic debug instruction with an ICFGNode!&quot;</span>);</div>
1296
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a1490b28446b9d8efee567ec02e2abcf3">getCallBlock</a>(inst);</div>
1297
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1298
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">addCallBlock</a>(inst);</div>
1299
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no CallICFGNode for this instruction?&quot;</span>);</div>
1300
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> node;</div>
1301
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;}</div>
1302
1302
  </div><!-- fragment -->
1303
1303
  </div>
1304
1304
  </div>
@@ -1356,14 +1356,14 @@ Additional Inherited Members</h2></td></tr>
1356
1356
 
1357
1357
  <p>Add a function entry node. </p>
1358
1358
 
1359
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00268">268</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1360
- <div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;{</div>
1361
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(fun);</div>
1362
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
1363
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a1af9ae1c2efb4cb7897d5234d035c06b">addFunEntryBlock</a>(fun);</div>
1364
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">else</span></div>
1365
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
1366
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
1359
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00274">274</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1360
+ <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;{</div>
1361
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(fun);</div>
1362
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
1363
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a1af9ae1c2efb4cb7897d5234d035c06b">addFunEntryBlock</a>(fun);</div>
1364
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">else</span></div>
1365
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
1366
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</div>
1367
1367
  </div><!-- fragment -->
1368
1368
  </div>
1369
1369
  </div>
@@ -1421,14 +1421,14 @@ Additional Inherited Members</h2></td></tr>
1421
1421
 
1422
1422
  <p>Add a function exit node. </p>
1423
1423
 
1424
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00277">277</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1425
- <div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;{</div>
1426
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(fun);</div>
1427
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
1428
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a6b716225b38638d6a34703995b749ad2">addFunExitBlock</a>(fun);</div>
1429
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">else</span></div>
1430
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
1431
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;}</div>
1424
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00283">283</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1425
+ <div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;{</div>
1426
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(fun);</div>
1427
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
1428
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a6b716225b38638d6a34703995b749ad2">addFunExitBlock</a>(fun);</div>
1429
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">else</span></div>
1430
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
1431
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;}</div>
1432
1432
  </div><!-- fragment -->
1433
1433
  </div>
1434
1434
  </div>
@@ -1497,24 +1497,24 @@ Additional Inherited Members</h2></td></tr>
1497
1497
  <p>Get a <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge according to src and dst. </p>
1498
1498
  <p>Return the corresponding <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> </p>
1499
1499
 
1500
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00341">341</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1501
- <div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;{</div>
1502
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
1503
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * edge = <span class="keyword">nullptr</span>;</div>
1504
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> counter = 0;</div>
1505
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <span class="keywordflow">for</span> (ICFGEdge::ICFGEdgeSetTy::iterator iter = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div>
1506
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; iter != src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div>
1507
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div>
1508
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &amp;&amp; (*iter)-&gt;getEdgeKind() == kind)</div>
1509
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; {</div>
1510
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; counter++;</div>
1511
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; edge = (*iter);</div>
1512
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; }</div>
1513
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div>
1514
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two ICFG nodes&quot;</span>);</div>
1515
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> edge;</div>
1516
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; </div>
1517
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;}</div>
1500
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00347">347</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1501
+ <div class="fragment"><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160;{</div>
1502
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
1503
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * edge = <span class="keyword">nullptr</span>;</div>
1504
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> counter = 0;</div>
1505
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">for</span> (ICFGEdge::ICFGEdgeSetTy::iterator iter = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div>
1506
+ <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; iter != src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div>
1507
+ <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div>
1508
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">if</span> ((*iter)-&gt;getDstID() == dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &amp;&amp; (*iter)-&gt;getEdgeKind() == kind)</div>
1509
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
1510
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; counter++;</div>
1511
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; edge = (*iter);</div>
1512
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; }</div>
1513
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div>
1514
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; assert(counter &lt;= 1 &amp;&amp; <span class="stringliteral">&quot;there&#39;s more than one edge between two ICFG nodes&quot;</span>);</div>
1515
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <span class="keywordflow">return</span> edge;</div>
1516
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; </div>
1517
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160;}</div>
1518
1518
  </div><!-- fragment -->
1519
1519
  </div>
1520
1520
  </div>
@@ -1537,20 +1537,20 @@ Additional Inherited Members</h2></td></tr>
1537
1537
  <p>Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>. </p>
1538
1538
  <p>Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> TODO:: need to fix the assertions </p>
1539
1539
 
1540
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00219">219</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1541
- <div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;{</div>
1542
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node;</div>
1543
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst))</div>
1544
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div>
1545
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVFUtil::isIntrinsicInst</a>(inst))</div>
1546
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
1547
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;<span class="comment">// assert (false &amp;&amp; &quot;associating an intrinsic instruction with an ICFGNode!&quot;);</span></div>
1548
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordflow">else</span></div>
1549
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
1550
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
1551
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no ICFGNode for this instruction?&quot;</span>);</div>
1552
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keywordflow">return</span> node;</div>
1553
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;}</div>
1540
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00225">225</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1541
+ <div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160;{</div>
1542
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node;</div>
1543
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst))</div>
1544
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div>
1545
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVFUtil::isIntrinsicInst</a>(inst))</div>
1546
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
1547
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;<span class="comment">// assert (false &amp;&amp; &quot;associating an intrinsic instruction with an ICFGNode!&quot;);</span></div>
1548
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">else</span></div>
1549
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
1550
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
1551
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no ICFGNode for this instruction?&quot;</span>);</div>
1552
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> node;</div>
1553
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
1554
1554
  </div><!-- fragment -->
1555
1555
  </div>
1556
1556
  </div>
@@ -1669,13 +1669,13 @@ Additional Inherited Members</h2></td></tr>
1669
1669
  </table>
1670
1670
  </div><div class="memdoc">
1671
1671
 
1672
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00259">259</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1673
- <div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;{</div>
1674
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#afeee2b61f8a84e1276f8955c4f6cf22d">getIntraBlock</a>(inst);</div>
1675
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1676
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ad0183e8975e7190a121d8cb2aeec3d94">addIntraBlock</a>(inst);</div>
1677
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> node;</div>
1678
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;}</div>
1672
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00265">265</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1673
+ <div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;{</div>
1674
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#afeee2b61f8a84e1276f8955c4f6cf22d">getIntraBlock</a>(inst);</div>
1675
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1676
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ad0183e8975e7190a121d8cb2aeec3d94">addIntraBlock</a>(inst);</div>
1677
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">return</span> node;</div>
1678
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;}</div>
1679
1679
  </div><!-- fragment -->
1680
1680
  </div>
1681
1681
  </div>
@@ -1731,16 +1731,16 @@ Additional Inherited Members</h2></td></tr>
1731
1731
  </table>
1732
1732
  </div><div class="memdoc">
1733
1733
 
1734
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00248">248</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1735
- <div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div>
1736
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;not a call instruction?&quot;</span>);</div>
1737
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;associating an intrinsic debug instruction with an ICFGNode!&quot;</span>);</div>
1738
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a5ad71237256b2a8ce94a7d79a84afe55">getRetBlock</a>(inst);</div>
1739
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1740
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ac58aa82eb74616a6608ff51d92f5baf6">addRetBlock</a>(inst);</div>
1741
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no RetICFGNode for this instruction?&quot;</span>);</div>
1742
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> node;</div>
1743
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;}</div>
1734
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00254">254</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1735
+ <div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160;{</div>
1736
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;not a call instruction?&quot;</span>);</div>
1737
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) &amp;&amp; <span class="stringliteral">&quot;associating an intrinsic debug instruction with an ICFGNode!&quot;</span>);</div>
1738
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a5ad71237256b2a8ce94a7d79a84afe55">getRetBlock</a>(inst);</div>
1739
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
1740
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; node = <a class="code" href="classSVF_1_1ICFG.html#ac58aa82eb74616a6608ff51d92f5baf6">addRetBlock</a>(inst);</div>
1741
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; assert (node!=<span class="keyword">nullptr</span> &amp;&amp; <span class="stringliteral">&quot;no RetICFGNode for this instruction?&quot;</span>);</div>
1742
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">return</span> node;</div>
1743
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
1744
1744
  </div><!-- fragment -->
1745
1745
  </div>
1746
1746
  </div>
@@ -1845,19 +1845,19 @@ Additional Inherited Members</h2></td></tr>
1845
1845
  </div><div class="memdoc">
1846
1846
  <p>Whether we has an inter <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
1847
1847
 
1848
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00306">306</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1849
- <div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;{</div>
1850
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst, kind);</div>
1851
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1852
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1853
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1854
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div>
1855
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1856
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1857
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div>
1858
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">else</span></div>
1859
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1860
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div>
1848
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00312">312</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1849
+ <div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;{</div>
1850
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst, kind);</div>
1851
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1852
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1853
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1854
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {</div>
1855
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1856
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1857
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
1858
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">else</span></div>
1859
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1860
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;}</div>
1861
1861
  </div><!-- fragment -->
1862
1862
  </div>
1863
1863
  </div>
@@ -1896,19 +1896,19 @@ Additional Inherited Members</h2></td></tr>
1896
1896
  <p>Whether we has a <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge. </p>
1897
1897
  <p>Whether we has an intra <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
1898
1898
 
1899
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00289">289</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1900
- <div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;{</div>
1901
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
1902
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1903
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1904
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1905
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
1906
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1907
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1908
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
1909
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">else</span></div>
1910
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1911
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;}</div>
1899
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00295">295</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1900
+ <div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;{</div>
1901
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
1902
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1903
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1904
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1905
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; {</div>
1906
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1907
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1908
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
1909
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">else</span></div>
1910
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1911
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;}</div>
1912
1912
  </div><!-- fragment -->
1913
1913
  </div>
1914
1914
  </div>
@@ -1945,19 +1945,19 @@ Additional Inherited Members</h2></td></tr>
1945
1945
  </div><div class="memdoc">
1946
1946
  <p>Whether we has an thread <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
1947
1947
 
1948
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00323">323</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1949
- <div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160;{</div>
1950
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
1951
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1952
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1953
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1954
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; {</div>
1955
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1956
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1957
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; }</div>
1958
- <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">else</span></div>
1959
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1960
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160;}</div>
1948
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00329">329</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
1949
+ <div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160;{</div>
1950
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
1951
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&amp;edge);</div>
1952
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&amp;edge);</div>
1953
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keywordflow">if</span> (outEdge &amp;&amp; inEdge)</div>
1954
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {</div>
1955
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; assert(outEdge == inEdge &amp;&amp; <span class="stringliteral">&quot;edges not match&quot;</span>);</div>
1956
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> outEdge;</div>
1957
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; }</div>
1958
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">else</span></div>
1959
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
1960
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160;}</div>
1961
1961
  </div><!-- fragment -->
1962
1962
  </div>
1963
1963
  </div>
@@ -2117,62 +2117,62 @@ Additional Inherited Members</h2></td></tr>
2117
2117
  <p>if this is an external function (no function body), connect calleeEntryNode to calleeExitNode</p>
2118
2118
  <p>Remove callBlockNode to retBlockNode intraICFGEdge since we found at least one inter procedural edge</p>
2119
2119
 
2120
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00457">457</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
2121
- <div class="fragment"><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;{</div>
2122
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; PTACallGraph::CallEdgeMap::const_iterator iter = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().begin();</div>
2123
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; PTACallGraph::CallEdgeMap::const_iterator eiter = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().end();</div>
2124
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">for</span> (; iter != eiter; iter++)</div>
2125
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; {</div>
2126
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlock = iter-&gt;first;</div>
2127
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* cs = callBlock-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>();</div>
2128
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; assert(callBlock-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>() &amp;&amp; <span class="stringliteral">&quot;this is not an indirect call?&quot;</span>);</div>
2129
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> &amp; functions = iter-&gt;second;</div>
2130
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)</div>
2131
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
2132
- <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *func_iter;</div>
2133
- <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(cs);</div>
2134
- <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(cs);</div>
2135
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callee))</div>
2136
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a>(callBlockNode, retBlockNode);</div>
2137
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keywordflow">else</span></div>
2138
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; {</div>
2139
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* calleeEntryNode = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(callee);</div>
2140
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* calleeExitNode = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(callee);</div>
2141
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* callEdge = <a class="code" href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">addCallEdge</a>(callBlockNode, calleeEntryNode, cs))</div>
2142
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; {</div>
2143
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : callBlockNode-&gt;<a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
2144
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div>
2145
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a> *callPE = SVFUtil::dyn_cast&lt;CallPE&gt;(stmt))</div>
2146
- <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div>
2147
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">if</span>(callPE-&gt;getFunEntryICFGNode() == calleeEntryNode)</div>
2148
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; SVFUtil::cast&lt;CallCFGEdge&gt;(callEdge)-&gt;addCallPE(callPE);</div>
2149
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; }</div>
2150
- <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div>
2151
- <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; }</div>
2152
- <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* retEdge = <a class="code" href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">addRetEdge</a>(calleeExitNode, retBlockNode, cs))</div>
2153
- <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; {</div>
2154
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : retBlockNode-&gt;<a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
2155
- <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; {</div>
2156
- <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a> *retPE = SVFUtil::dyn_cast&lt;RetPE&gt;(stmt))</div>
2157
- <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; {</div>
2158
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span>(retPE-&gt;getFunExitICFGNode() == calleeExitNode)</div>
2159
- <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; SVFUtil::cast&lt;RetCFGEdge&gt;(retEdge)-&gt;addRetPE(retPE);</div>
2160
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div>
2161
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; }</div>
2162
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div>
2163
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; </div>
2164
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(callBlockNode,retBlockNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>))</div>
2165
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">removeICFGEdge</a>(edge);</div>
2166
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; }</div>
2167
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; </div>
2168
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div>
2169
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; }</div>
2170
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="comment">// dump ICFG</span></div>
2171
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ae7ccfb3d1308e205e5014849dcc43d9a">Options::DumpICFG</a>())</div>
2172
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; {</div>
2173
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">&quot;icfg_final&quot;</span>);</div>
2174
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; }</div>
2175
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160;}</div>
2120
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00463">463</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
2121
+ <div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;{</div>
2122
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; PTACallGraph::CallEdgeMap::const_iterator iter = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().begin();</div>
2123
+ <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; PTACallGraph::CallEdgeMap::const_iterator eiter = callgraph-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().end();</div>
2124
+ <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; <span class="keywordflow">for</span> (; iter != eiter; iter++)</div>
2125
+ <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div>
2126
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlock = iter-&gt;first;</div>
2127
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* cs = callBlock-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>();</div>
2128
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; assert(callBlock-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>() &amp;&amp; <span class="stringliteral">&quot;this is not an indirect call?&quot;</span>);</div>
2129
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> &amp; functions = iter-&gt;second;</div>
2130
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)</div>
2131
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div>
2132
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *func_iter;</div>
2133
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(cs);</div>
2134
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(cs);</div>
2135
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callee))</div>
2136
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a>(callBlockNode, retBlockNode);</div>
2137
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">else</span></div>
2138
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; {</div>
2139
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* calleeEntryNode = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(callee);</div>
2140
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* calleeExitNode = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(callee);</div>
2141
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* callEdge = <a class="code" href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">addCallEdge</a>(callBlockNode, calleeEntryNode, cs))</div>
2142
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; {</div>
2143
+ <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : callBlockNode-&gt;<a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
2144
+ <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; {</div>
2145
+ <div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a> *callPE = SVFUtil::dyn_cast&lt;CallPE&gt;(stmt))</div>
2146
+ <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; {</div>
2147
+ <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; <span class="keywordflow">if</span>(callPE-&gt;getFunEntryICFGNode() == calleeEntryNode)</div>
2148
+ <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; SVFUtil::cast&lt;CallCFGEdge&gt;(callEdge)-&gt;addCallPE(callPE);</div>
2149
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div>
2150
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div>
2151
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; }</div>
2152
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* retEdge = <a class="code" href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">addRetEdge</a>(calleeExitNode, retBlockNode, cs))</div>
2153
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; {</div>
2154
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : retBlockNode-&gt;<a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
2155
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div>
2156
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a> *retPE = SVFUtil::dyn_cast&lt;RetPE&gt;(stmt))</div>
2157
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; {</div>
2158
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">if</span>(retPE-&gt;getFunExitICFGNode() == calleeExitNode)</div>
2159
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; SVFUtil::cast&lt;RetCFGEdge&gt;(retEdge)-&gt;addRetPE(retPE);</div>
2160
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; }</div>
2161
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; }</div>
2162
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
2163
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; </div>
2164
+ <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(callBlockNode,retBlockNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>))</div>
2165
+ <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">removeICFGEdge</a>(edge);</div>
2166
+ <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div>
2167
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; </div>
2168
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; }</div>
2169
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; }</div>
2170
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="comment">// dump ICFG</span></div>
2171
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ae7ccfb3d1308e205e5014849dcc43d9a">Options::DumpICFG</a>())</div>
2172
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; {</div>
2173
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">&quot;icfg_final&quot;</span>);</div>
2174
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; }</div>
2175
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160;}</div>
2176
2176
  </div><!-- fragment -->
2177
2177
  </div>
2178
2178
  </div>
@@ -2194,10 +2194,10 @@ Additional Inherited Members</h2></td></tr>
2194
2194
  <p>View graph from the debugger. </p>
2195
2195
  <p>View <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> </p>
2196
2196
 
2197
- <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00449">449</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
2198
- <div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160;{</div>
2199
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a>(<span class="keyword">this</span>, <span class="stringliteral">&quot;Interprocedural Control-Flow Graph&quot;</span>);</div>
2200
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160;}</div>
2197
+ <p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00455">455</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
2198
+ <div class="fragment"><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;{</div>
2199
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <a class="code" href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a>(<span class="keyword">this</span>, <span class="stringliteral">&quot;Interprocedural Control-Flow Graph&quot;</span>);</div>
2200
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;}</div>
2201
2201
  </div><!-- fragment -->
2202
2202
  </div>
2203
2203
  </div>
@@ -2501,9 +2501,9 @@ Additional Inherited Members</h2></td></tr>
2501
2501
  <div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
2502
2502
  <div class="ttc" id="aclassSVF_1_1RetCFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetCFGEdge.html">SVF::RetCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00227">ICFGEdge.h:227</a></div></div>
2503
2503
  <div class="ttc" id="aclassSVF_1_1ICFG_html_acc261924103bd0c357acd3acfa6cf38a"><div class="ttname"><a href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">SVF::ICFG::getFunEntryBlock</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryBlock(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function entry node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00245">ICFG.h:245</a></div></div>
2504
- <div class="ttc" id="aclassSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00235">ICFG.cpp:235</a></div></div>
2505
- <div class="ttc" id="aclassSVF_1_1ICFG_html_a2ad6c1e49cc847df18342cbbe6224863"><div class="ttname"><a href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">SVF::ICFG::addCallEdge</a></div><div class="ttdeci">ICFGEdge * addCallEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00404">ICFG.cpp:404</a></div></div>
2506
- <div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00248">ICFG.cpp:248</a></div></div>
2504
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00241">ICFG.cpp:241</a></div></div>
2505
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a2ad6c1e49cc847df18342cbbe6224863"><div class="ttname"><a href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">SVF::ICFG::addCallEdge</a></div><div class="ttdeci">ICFGEdge * addCallEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00410">ICFG.cpp:410</a></div></div>
2506
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00254">ICFG.cpp:254</a></div></div>
2507
2507
  <div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00546">SVFStatements.h:546</a></div></div>
2508
2508
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
2509
2509
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a4e6d228dfc678618a423e8293877f04c"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">SVF::ICFGEdge::isIntraCFGEdge</a></div><div class="ttdeci">bool isIntraCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00085">ICFGEdge.h:85</a></div></div>
@@ -2511,7 +2511,7 @@ Additional Inherited Members</h2></td></tr>
2511
2511
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a5ad71237256b2a8ce94a7d79a84afe55"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5ad71237256b2a8ce94a7d79a84afe55">SVF::ICFG::getRetBlock</a></div><div class="ttdeci">RetICFGNode * getRetBlock(const SVFInstruction *cs)</div><div class="ttdoc">Get/Add a return node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00293">ICFG.h:293</a></div></div>
2512
2512
  <div class="ttc" id="anamespaceSVF_html_a4582a7d33a5631a5a38973f50035327e"><div class="ttname"><a href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a></div><div class="ttdeci">void ViewGraph(const GraphType &amp;G, const std::string &amp;name, bool ShortNames=false, GraphProgram::Name Program=GraphProgram::DOT)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00371">GraphWriter.h:371</a></div></div>
2513
2513
  <div class="ttc" id="aclassSVF_1_1ICFG_html_afeee2b61f8a84e1276f8955c4f6cf22d"><div class="ttname"><a href="classSVF_1_1ICFG.html#afeee2b61f8a84e1276f8955c4f6cf22d">SVF::ICFG::getIntraBlock</a></div><div class="ttdeci">IntraICFGNode * getIntraBlock(const SVFInstruction *inst)</div><div class="ttdoc">Get/Add IntraBlock ICFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00229">ICFG.h:229</a></div></div>
2514
- <div class="ttc" id="aclassSVF_1_1ICFG_html_aaf521832909781894659725300cf4f49"><div class="ttname"><a href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">SVF::ICFG::getIntraICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00259">ICFG.cpp:259</a></div></div>
2514
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_aaf521832909781894659725300cf4f49"><div class="ttname"><a href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">SVF::ICFG::getIntraICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00265">ICFG.cpp:265</a></div></div>
2515
2515
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
2516
2516
  <div class="ttc" id="aclassSVF_1_1PTACallGraph_html_ad49fa2a288945f6910deb11acdf6a42d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">SVF::PTACallGraph::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap &amp; getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite.</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00280">PTACallGraph.h:280</a></div></div>
2517
2517
  <div class="ttc" id="aclassSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set&lt; const SVFFunction * &gt; FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
@@ -2531,7 +2531,7 @@ Additional Inherited Members</h2></td></tr>
2531
2531
  <div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_ad7b35b7c9abb07122eaa8517dae56508"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">SVF::IntraCFGEdge::setBranchCondition</a></div><div class="ttdeci">void setBranchCondition(const SVFValue *c, s64_t bVal)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00151">ICFGEdge.h:151</a></div></div>
2532
2532
  <div class="ttc" id="aclassSVF_1_1ICFG_html_ab87a90adae3e9db06da7ecc0bd9d920f"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">SVF::ICFG::FunToFunExitNodeMap</a></div><div class="ttdeci">FunToFunExitNodeMapTy FunToFunExitNodeMap</div><div class="ttdoc">map a function to its FunEntryICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00072">ICFG.h:72</a></div></div>
2533
2533
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
2534
- <div class="ttc" id="aclassSVF_1_1ICFG_html_a86535e50d1feba706b19491d905baef1"><div class="ttname"><a href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">SVF::ICFG::hasInterICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasInterICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00306">ICFG.cpp:306</a></div></div>
2534
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a86535e50d1feba706b19491d905baef1"><div class="ttname"><a href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">SVF::ICFG::hasInterICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasInterICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00312">ICFG.cpp:312</a></div></div>
2535
2535
  <div class="ttc" id="aclassSVF_1_1ICFG_html_ac58aa82eb74616a6608ff51d92f5baf6"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac58aa82eb74616a6608ff51d92f5baf6">SVF::ICFG::addRetBlock</a></div><div class="ttdeci">RetICFGNode * addRetBlock(const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00300">ICFG.h:300</a></div></div>
2536
2536
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_abb2bbf6e0dc5adae2140a519259e6f17"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const SVFInstruction *inst)</div><div class="ttdoc">Return true if it is an llvm intrinsic instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00247">SVFUtil.cpp:247</a></div></div>
2537
2537
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00217">GenericGraph.h:217</a></div></div>
@@ -2540,20 +2540,20 @@ Additional Inherited Members</h2></td></tr>
2540
2540
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
2541
2541
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
2542
2542
  <div class="ttc" id="aclassSVF_1_1ICFG_html_ac51c8f38efbd2576e150a9fc26a4a41b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">SVF::ICFG::addCallBlock</a></div><div class="ttdeci">CallICFGNode * addCallBlock(const SVFInstruction *cs)</div><div class="ttdoc">Get/Add a call node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00277">ICFG.h:277</a></div></div>
2543
- <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01272">LLVMUtil.cpp:1272</a></div></div>
2543
+ <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01284">LLVMUtil.cpp:1284</a></div></div>
2544
2544
  <div class="ttc" id="aclassSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00324">ICFGNode.h:324</a></div></div>
2545
2545
  <div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &amp;O, const std::string &amp;GraphName, const GraphType &amp;GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
2546
- <div class="ttc" id="aclassSVF_1_1ICFG_html_aa662baae5682ef6ec5084fa4147c9709"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">SVF::ICFG::hasIntraICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasIntraICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00289">ICFG.cpp:289</a></div></div>
2546
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_aa662baae5682ef6ec5084fa4147c9709"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">SVF::ICFG::hasIntraICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasIntraICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00295">ICFG.cpp:295</a></div></div>
2547
2547
  <div class="ttc" id="aclassSVF_1_1ICFG_html_ae115e70bf53f25c0ca6b1f22acccf5b5"><div class="ttname"><a href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">SVF::ICFG::isInLoop</a></div><div class="ttdeci">bool isInLoop(const ICFGNode *node)</div><div class="ttdoc">Whether node is in a loop.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00119">ICFG.h:119</a></div></div>
2548
2548
  <div class="ttc" id="aclassSVF_1_1GenericNode_html_a06a7373b11143e709784de784fa476fe"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">SVF::GenericNode::hasIncomingEdge</a></div><div class="ttdeci">bool hasIncomingEdge() const</div><div class="ttdoc">Has incoming/outgoing edge set.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
2549
2549
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">SVF::ICFGEdge::CallCF</a></div><div class="ttdeci">@ CallCF</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00056">ICFGEdge.h:56</a></div></div>
2550
2550
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a2ecc0bc3bb3655bf3db3adb732747b49"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">SVF::ICFGEdge::isCallCFGEdge</a></div><div class="ttdeci">bool isCallCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00077">ICFGEdge.h:77</a></div></div>
2551
2551
  <div class="ttc" id="aclassSVF_1_1ICFGEdge_html_ae3e7a6596de9fd3a25a28242a06ddd80"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">SVF::ICFGEdge::isRetCFGEdge</a></div><div class="ttdeci">bool isRetCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00081">ICFGEdge.h:81</a></div></div>
2552
2552
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a22d7f37a0cb2df90f73c1f2e3eaa71c6"><div class="ttname"><a href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">SVF::ICFG::getFunExitBlock</a></div><div class="ttdeci">FunExitICFGNode * getFunExitBlock(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function exit node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00261">ICFG.h:261</a></div></div>
2553
- <div class="ttc" id="aclassSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00441">ICFG.cpp:441</a></div></div>
2554
- <div class="ttc" id="aclassSVF_1_1ICFG_html_a8a5e7571e804702a2d0af7d420f21b33"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">SVF::ICFG::addRetEdge</a></div><div class="ttdeci">ICFGEdge * addRetEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00422">ICFG.cpp:422</a></div></div>
2555
- <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00620">SVFValue.h:620</a></div></div>
2556
- <div class="ttc" id="aclassSVF_1_1ICFG_html_adafd8bbb91507a9a78a3f16305812afc"><div class="ttname"><a href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">SVF::ICFG::addIntraEdge</a></div><div class="ttdeci">ICFGEdge * addIntraEdge(ICFGNode *srcNode, ICFGNode *dstNode)</div><div class="ttdoc">Add control-flow edges for top level pointers.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00363">ICFG.cpp:363</a></div></div>
2553
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &amp;file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00447">ICFG.cpp:447</a></div></div>
2554
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_a8a5e7571e804702a2d0af7d420f21b33"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">SVF::ICFG::addRetEdge</a></div><div class="ttdeci">ICFGEdge * addRetEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00428">ICFG.cpp:428</a></div></div>
2555
+ <div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00631">SVFValue.h:631</a></div></div>
2556
+ <div class="ttc" id="aclassSVF_1_1ICFG_html_adafd8bbb91507a9a78a3f16305812afc"><div class="ttname"><a href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">SVF::ICFG::addIntraEdge</a></div><div class="ttdeci">ICFGEdge * addIntraEdge(ICFGNode *srcNode, ICFGNode *dstNode)</div><div class="ttdoc">Add control-flow edges for top level pointers.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00369">ICFG.cpp:369</a></div></div>
2557
2557
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_afdc3358522417de9a0d3a181a329f722"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00174">SVFUtil.h:174</a></div></div>
2558
2558
  <div class="ttc" id="aclassSVF_1_1ICFG_html_a0e43308038663c10667177238b23ab3e"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">SVF::ICFG::CSToRetNodeMap</a></div><div class="ttdeci">CSToRetNodeMapTy CSToRetNodeMap</div><div class="ttdoc">map a callsite to its RetICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00074">ICFG.h:74</a></div></div>
2559
2559
  <div class="ttc" id="acJSON_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>